0

0xFFFF上記の文字をWindowsで印刷することは可能でしょうか?

Windows XP と共に Microsoft Visual Studio 2010 を使用しています。文字は 16 ビット幅であるため、 より大きいコードポイント0xFFFFは実際には 1 つの文字に収まりません。これを試しても:

int codepoint = char.ConvertToUtf32(charHS, charLS);

サロゲート ペアからコードポイントを取得しますが、それでも char に収まりません。

上位の多言語面の文字を C# 内の文字列に貼り付けると、文字列の長さは 2 になります。文字列を出力しようとすると、文字ではない 2 つのサロゲート文字が出力されます。EG にはコードポイントがありません。 「本物の」キャラクターではなく、ペアとしてのみ。

よりも高いコードポイントを保持できる 32 ビット幅の文字のようなものがあるべきではありません0xFFFFか?

4

1 に答える 1

5

0xFFFF よりも高いコードポイントを保持できる 32 ビット幅の char のようなものがあるべきではありませんか?

多分。ただし、基本多言語面以外のグリフを出力するための Windows のサポートは、UTF-16 に基づいています。高低のサロゲート ペアに分割し、2 文字であるかのように渡します。

于 2012-07-25T14:18:02.807 に答える