2016-07-20 4 views

答えて

1

Big5でASCIIをエンコードすることはできません。

Big5は純粋に2バイト文字セットです。シングルバイト文字セットの混在を可能にするため、すべてのBig5 2バイト文字エンコーディングは上位ビットが設定されています。標準ではSBCSが使用されることは決して決まっておらず、デファクトスタンダードはASCIIであり、すべてのASCII文字が高位ビットをクリアしているので明白に区別することができます。

他の言い方をすれば、Big5には標準ASCII文字セットに対応する2バイトのエンコーディングが含まれていないため、XMLプロローグとタグ区切り文字を含む唯一の方法はASCII文字を使用することです。

0

XML宣言は、残りの文書と同じエンコーディングでなければなりません。ドキュメントがBig5にある場合、XML宣言はBig5になければなりません。

これは、XMLパーサーには、サポートされているエンコーディングのリストが必要であり、ファイル内の最初の20バイトまたは30バイトをデコードした結果が有効なXML宣言正しいエンコードラベルで

もちろん、この戦略を最適化することができます。ファイルの最初の数バイトがASCIIで<?xmlである場合、これにより可能性が低下します。

XMLパーサーは、UTF-8やUTF-16などの小さな最小セット以外のエンコーディングをサポートする義務はありません。