perl / PHP / JavaScript 各言語での URL(URI)エンコード・デコード方法まとめ
日本語等の2バイト文字を URL として使用するための、URLエンコード・デコード方法を、perl / PHP /JavaScript の各言語別にまとめてみました。
と言っても、PHP と JavaScript はそれ専用の関数が用意されてるから簡単なんですけどね。
perl で URLエンコード・デコード
perl で URLエンコードするには、以下のようにします。
$word = "はぴはぴはっぴー♪"; $word =~ s/([^0-9A-Za-z_ ])/'%'.unpack('H2',$1)/ge; $word =~ s/\s/+/g;
これで「はぴはぴはっぴー♪」という文字列が「%82%cd%82%d2%82%cd%82%d2%82%cd%82%c1%82%d2%81%5b%81%f4」という文字列にエンコードされます。
続いて、perl での URLデコード方法。
$word = "%82%cd%82%d2%82%cd%82%d2%82%cd%82%c1%82%d2%81%5b%81%f4"; $word =~ s/+/\s/g; $word =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ge;
これで「%82%cd%82%d2%82%cd%82%d2%82%cd%82%c1%82%d2%81%5b%81%f4」という文字列が「はぴはぴはっぴー♪」という文字列にデコードされます。
PHP で URLエンコード・デコード
前述の通り、PHP にはURLエンコード・デコード用の関数が用意されているので、非常に簡単です。
#-- URLエンコード $word = "はぴはぴはっぴー♪"; $encoded = urlencode($word); #-- URLデコード $encoded = "%82%cd%82%d2%82%cd%82%d2%82%cd%82%c1%82%d2%81%5b%81%f4"; $word = urldecode($encoded);
JavaScript で URLエンコード・デコード
PHP と同じく、JavaScript にも URLエンコード・デコード用の関数が用意されているので、同じく簡単です。
// URLエンコード var word = "はぴはぴはっぴー♪"; var encoded = encodeURI(word); // URLデコード var encoded = "%82%cd%82%d2%82%cd%82%d2%82%cd%82%c1%82%d2%81%5b%81%f4"; var word = decodeURI(encoded);
- 関連するブログ記事
-
- 現在位置
- TOP > Web制作技術 > perl/CGI > perl / PHP / JavaScript 各言語での URL(URI)エンコード・デコード方法まとめ
- 前のブログ記事
- 2009年11月の読了本まとめ [2009年12月 1日 23:59]
- 次のブログ記事
- MT4 で複数ファイル(アイテム)を一括アップロードできる Asset Handler プラグイン [2009年12月 3日 19:06]
コメント(1)
good Application will be installed as well as will certainly add its symbol https://mobdrodownloads.com/mobdro-for-kodi-download-install/ Our tool will certainly ask us to confirm the demands best.
コメントする