0

UnicodeUTF-32値はコードポイントと呼ぶことができますが、単一のサロゲート自体がコードポイントであるため、これでも間違っていると思います。UTF-8 は、マルチバイトまたはマルチオクテットと呼ぶことができます。UTF-16しかし、とはどうでしょうかUCS-2。それらは 2 バイトで処理されるため、正確にはマルチバイトではありません。マルチワードは、MS の命名スキームに近いと思います。

in のように、単語のようにUTF-32、バイトで構成できるコードポイントを表すより正確な名前は何ですか?UTF-8UTF-16

4

1 に答える 1

0

あなたが探している用語は「コードユニット」だと思います。

コード ポイントは、文字セット内の文字に割り当てられる単純な整数値です。

コード単位は、エンコードされたテキストを表すためにシーケンスで使用される固定幅の整数表現です。UTF-8、UTF-16、および UTF-32 はすべてエンコーディングであり、それぞれ 8、16、および 32 ビットのコード単位を使用します。

UTF-32 は、そのコード単位の値が常に、表現された Unicode データのコード ポイント値とまったく同じであるという点で、3 つの中で一意です。


「マルチバイト」は、UTF-16 に関して適切に使用できます。(そして、「Unicode」は UTF-8 に関して使用することができます。Microsoft の用語の使用は、両方の点で誤解を招きます。)


単一のサロゲート自体がコードポイントです。

Unicode は、範囲 [U+D800-U+DFFF] のコード ポイントをサロゲートとして分類します。ただし、これらのコード ポイントがそのまま使用されることはありません。これらは予約されており、UTF-16 はこの範囲のコード ポイントを表現できないため使用できません。このようなコード ポイントを表すために、UTF-16 は範囲 [0xD800-0xDFFF] のコード単位を使用しますが、UTF-16 はこの範囲のコード単位値を使用して U+FFFF を超えるコード ポイントを表すため、それらを使用してコードを表すことはできません。 [U+D800-U+DFFF] の範囲のポイント。

于 2013-07-23T14:36:23.150 に答える