• ベストアンサー

ヤフーなどで検索した時にアドレスに出る文字はなんというコード?

ヤフーなどで日本語の文字を検索した時にブラウザの アドレス(?)に出る"%A5%D1%A5%BD%A5%B3%A5%F3" というような文字はなんというコードで変換された ものなのでしょうか? ちなみにこれは、"パソコン"と検索した時に出る文字です。 また、このコードにしたがって、javascriptで任意の文字を変換させることは可能でしょうか? どちらか一つでもご存知の方いらっしゃったら教えて下さい。

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

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.2

EUCをASCIIエンコードしたものです。 %○○%××が一組で、○○××という4桁の16進数文字コードを示します。 EUCコードとしては更に各桁を4ビットととして16ビット文字コードの表現となります。 EUCはJIS漢字コードに16進数の8080を加えたものです。 1.任意の文字のJIS漢字コードを取得する 2.JIS漢字コードに8080を加えてEUCとする 3.16真数の各桁を文字変換する 4.出来上がった4文字を2文字ずつに分解し、%を挿入する という手順で任意の文字をASCIIエンコードできます。

neo_gigantes
質問者

お礼

ご回答ありがとうございます。 なるほど、JIS漢字コードに8080を加えたのがEUCで、 それをさらにASCIIエンコードしたものなんですね。 大変勉強になりました。 残念ながらjavascriptでは困難なようですが、この知識はいつか役に立つと思います。ありがとうございました。

その他の回答 (2)

  • madman
  • ベストアンサー率24% (612/2465)
回答No.3

通常下記のフォーマットで変換されます。 ・スペースはプラス(+)に置き換える。 ・特殊文字、日本語などはパーセント(%)に続く2桁の16進数に置き換える。 escape(string)でエンコーディングします。 (例) str = escape("パソコン"); これを表示すると、 "%A5%D1%A5%BD%A5%B3%A5%F3" になっていると思いますよ。 逆に元に戻す時は unescape(string) を利用します。

neo_gigantes
質問者

お礼

ご回答ありがとうございます。 escape()は私も調べたのですが、IE4.0以降ですと、 unicodeに変換されてしまうとのことでした。 (それ以前はurlコードとのこと) ただunicodeとか、urlコードというのもよくわかってませんので、escape()についてはもうちょっとよく調べてみようと思います。ありがとうございました。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

> アドレス(?)に出る"%A5%D1%A5%BD%A5%B3%A5%F3" > というような文字はなんというコードで変換された > ものなのでしょうか? > > ちなみにこれは、"パソコン"と検索した時に出る文字です。 EUC ですね。 > また、このコードにしたがって、javascriptで任意の文字を変換させることは可能でしょうか? 「別の文字コードに変換」ということでしょうか。 できるのかもしれませんが、考えたことがありません。 確かに、文字列(クラス String のインスタンス)の任意の位置の文字コードが取得できますし、 ビット演算子もありますからねえ。

neo_gigantes
質問者

お礼

ご回答ありがとうございます。EUCですか。 なんというコードなのかすらわからなかったので、検索して調べようにも調べられず困っていました。ありがとうございました。(^-^)/

関連するQ&A