Java の「サロゲートペア」とは何ですか? 質問する

Java の「サロゲートペア」とは何ですか? 質問する

私はのドキュメントを読んでいましたStringBuffer。特に逆行する()方法。そのドキュメントには、代理ペアこの文脈における代理ペアとは何でしょうか?低いそして高い代理母?

ベストアンサー1

「サロゲート ペア」という用語は、UTF-16 エンコード スキームで高コード ポイントの Unicode 文字をエンコードする手段を指します。

Unicode 文字エンコーディングでは、文字は 0x0 から 0x10FFFF までの値にマッピングされます。

Java は内部的に、UTF-16 エンコード方式を使用して Unicode テキストの文字列を格納します。UTF-16 では、16 ビット (2 バイト) のコード単位が使用されます。16 ビットには 0x0 から 0xFFFF の範囲の文字しか格納できないため、この範囲を超える値 (0x10000 から 0x10FFFF) を格納するには、追加の複雑さが使用されます。これは、サロゲートと呼ばれるコード単位のペアを使用して行われます。

The surrogate code units are in two ranges known as "high surrogates" and "low surrogates", depending on whether they are allowed at the start or end of the two-code-unit sequence.

おすすめ記事