• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【javascriptのescape関数】)

javascriptのescape関数とは?

このQ&Aのポイント
  • javascriptのescape関数は、文字列をISO-Latin-1コードに変換する関数です。
  • ひらがなの「あ」は「%82%A0」と変換されますが、ブラウザによって結果が異なる場合もあります。
  • Latin1の表には「あ」は含まれていないため、Latin1ではひらがなを扱えないと思われます。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.2

>Latin-1の範囲に含まれない文字を16進で表示する、とありますが、その変換ルールはどのように決まるのでしょうか?? 文字コードを16進表示して%を前置したものです。 >Latin-1は符号化文字集合の1つなので、Latin-1で定義された文字を表すコードは、文字符号化方式に依存しないと認識していましたが Latin-1はISO-8859-1という文字集合及びエンコード方式のことです。Unicodeは既存の文字集合を全部含んでいるので、当然その一部にLatin-1文字集合を含みます。 UnicodeはISO-8859-1をコードそのままu0000-u00ffに含んでいるので、ISO-8859-1エンコードと、UnicodeのISO-8859-1文字セット部分のコードは先頭のゼロを除けば一致しますが、これは世界中の文字集合からすると例外的です。JIS文字セットの日本語文字集合はUnicode文字集合に含まれますが、コードは全く異なります。 >ユニコードの「あ」は符号化文字方式がなんであれ、3042と認識しています。 これは正しいですが、シフトJISの「あ」は 82A0 だし、EUC-JPの「あ」は、A4A2 です。JIS区点コードなら4区2点。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

>latin1の表http://hp.vector.co.jp/authors/VA014833/HTML32/H …に「あ」は含まれないので理解できませんでした。 Latin-1の範囲に含まれない文字を、% と 16進数表示で表現すると言うことです。変換した結果は、全部Latin-1の文字です。 もとの文字が、シフトJISの「あ」なら %82%A0 になります。元の文字がUTF-8だったりUTF-16だったりすると別の値に。

MACKA
質問者

補足

ご回答ありがとうございます。 >Latin-1の範囲に含まれない文字を、% と 16進数表示で表現すると言うことです。変換した結果は、全部>Latin-1の文字です。 Latin-1の範囲に含まれない文字を16進で表示する、とありますが、その変換ルールはどのように決まるのでしょうか?? >もとの文字が、シフトJISの「あ」なら %82%A0 になります。元の文字がUTF-8だったりUTF-16だったりす >ると別の値に。 Latin-1は符号化文字集合の1つなので、Latin-1で定義された文字を表すコードは、文字符号化方式に依存しないと認識していましたが(UTF-8でもUTF-16でも同じ結果になる)、根本的に理解が間違っているのでしょうか。 例えば、ユニコードの「あ」は符号化文字方式がなんであれ、3042と認識しています。 宜しければ、ご回答宜しくお願い致します。

関連するQ&A

専門家に質問してみよう