2010-11-20 1 views
3

RFC 4627 on Json読み取り:JSON仕様では、「JSONテキストの最初の2文字は常にASCII文字になるので」とはどういう意味ですか?

  1. エンコーディング

    JSONテキストはUnicodeで符号化されなければなりません。デフォルトのエンコーディングは UTF-8です。

    JSONテキストの最初の2つの文字は常にASCII 文字[RFC0020]であるので、オクテット ストリームは、UTF-8、UTF-16(BEまたはLE)である、またはUTF-かどうかを決定することが可能です最初の4オクテットのヌルのパターンで を調べることにより、32(BEまたはLE)になります。

「JSONテキストの最初の2つの文字は常にASCII文字[RFC0020]になりますので、」それはどういう意味ですか?私はRFC0020を見てきましたが、それについて何も見つかりませんでした。

答えて

6

これは、JSONは常にASCII文字で始まるため(ASCII以外の文字列は文字列でのみ使用できますが、これはルートオブジェクトにはできません)、JSONは常に ""または ""(引用符の前の空白)ストリーム/ファイルの開始からそれがどのエンコーディングであるかを判断することが可能です。

UTF-16とUTF-32のストリームの先頭に表示されるBOMがあり、それが何であるかを知ることができます

この仕様では、他の多くのテキストストリームやファイルと同じように言いますが、これは必ずしもそうではありません可能です(ほとんどのテキストファイルは任意の2文字から始めることができ、実際のファイルの2つの最初のバイトはあらかじめ分かっていません)。

+0

JSONは '['で始まり、 '[1,2,3]'などの ''や '' 'の後に続かないこともできますが、2番目の文字はASCII文字でなければなりません。 –

関連する問題