[1996] Re:URLエンコードについて
投稿者:(ぱ)こと管理人
2017/08/04 20:54:02
>P.63からの「URLエンコードに対応する」の説明で理解できない部分があり、投稿させて頂きました。
>P.64の上から2行目に、元の文字列の文字コードによって(例えば、Shift-Jisか、UTF-8か、EUCかによって)、エンコード結果が異なると書いてあります。
>一方で、同じページのもう少し下の部分には「IEやFireFoxともにUTF-8でエンコードしたものを…」と記載があります。
>これは「元の文字列の文字コードによって」という部分と矛盾するように感じ、よく分からなくなりました。
>また、P.65の補足(下)でも、Shift-Jisとしてエンコードする例があり、ますます混乱しています。
返信が遅くなりまして申し訳ありません。
p.64冒頭にあるように、URLエンコードは、『元の文字列をバイト単位で解釈し、
「%」の後ろにその16進表記をつなげたもの』です。よって、元の文字列を
どのエンコーディング(文字コード)で解釈するかにより結果は変わります。
JavaのURLEncoderやURLDecoderのようなクラスライブラリで、エンコードするときも
デコードするときもエンコーディングを指定しなければいけないのは、そのためです。
WebサイトでURLエンコード/デコードの機能を提供しているページもよくありますが、
そういうページでも、たいては文字コードが選べるようになっていると思います。
その上で、各ブラウザがどのエンコーディング(文字コード)でURLエンコードするかに
ついては、W3Cで定められており、それがUTF-8である、ということです。
これで回答になっていますでしょうか?