2012-10-05 24 views
5

いくつかのバイトシーケンスは、Unicodeエンコーディングでは無効であると思われますが、いくつかの言語(Pythonは1つ)でエラーが発生することがわかりました。UnicodeとJavascript:無効なバイトシーケンス

私の質問は:XMLHttpRequestまたはXDomainRequestの間にこのようなシーケンスを受け取った場合、Javascriptではどうなりますか?結果の文字列は次のようになります。

  1. これが発生した場合、切り捨てられますか?
  2. 不良シーケンスをスキップし、次のバイトから開始しますか?
  3. 復号化を続行し、表示されたときに置換 文字のみを表示しますか?

3の場合、charCodeAt関数は有効な文字コードを返しますか?

答えて

4

3が発生します。表示されているときはshowsを表示し、charCodeAtはUnicode文字の0xFFFDを返します。

+0

OK、ありがとう、それは私が探していたものでした。記録のために、私は[this page](http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt)を使って確認し、 'charCodeAt'を繰り返しています値。 –

+0

素晴らしいテストリソース:http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt – saml

関連する問題