• ベストアンサー

AppleScript(or Perl)でURLエンコードするには?

AppleScriptでURLエンコードするにはどのようにすれば良いのでしょう? Perlを使えばできそうなのですがうまくいきません。例えば”あ”をエンコードしようとして、do shell scriptコマンドから echo 'あ' | perl -pe '~s/([^?w ])/"%".unpack("H2", $1)/eg;' としても"%a4%a2"が正しいのですが、"%e3%81%82%0a"が返ってきます。 暗ーいトンネルに入ったような状態です。どなたかお力をお借りできないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.1

echoの出力の結果がUTF-8になってしまっているようです(%e3%81%82%0aをUTF-8としてデコードすると'あ'+LFになります)。 http://developer.apple.com/ja/technotes/tn2065.html#Section4 http://www.tagindex.com/tool/url.html 期待されている結果はEUCなので、どこかで文字コードを変換する必要がありますね。 MacOSXはほとんど使ったことが無いので詳しいことはわかりませんが、iconvを使えばできるかもしれません。 http://homepage.mac.com/travellers/blog/C746134881/

参考URL:
http://developer.apple.com/ja/technotes/tn2065.html#Section4
AppleScripter
質問者

お礼

ありがとうございます!以下のようにiConvを使ってできました。 echo 'あ'| iconv -f UTF8 -t EUCJP | perl -pe '~s/([^?w ])/"%".unpack("H2", $1)/eg;' 悩んだ日々はなんだったのでしょう…。本当に助かりました。

関連するQ&A