0

1文字を格納するために必要なバイト数:

  • Microsoftによる.NETFrameworkバージョン4の実装
  • Microsoft Internet Explorer 8で実装されているJavaScript?
4

2 に答える 2

1

.net と JavaScript はどちらも UTF-16 です。

各 Unicode コード ポイントを 1 つまたは 2 つの 16 ビット整数のシーケンスとして表します。ほとんどの一般的な Unicode 文字には 1 つの UTF-16 コード ポイントしか必要ありませんが、Unicode 補助文字 (U+10000 以上) には 2 つの UTF-16 サロゲート コード ポイントが必要です。リトル エンディアンとビッグ エンディアンの両方のバイト オーダーがサポートされています。

したがって、16ビットまたは32ビットにすることができます。

于 2012-05-30T04:56:42.997 に答える
1

.NETJavaScriptはどちらもUTF-16を使用します。UTF-16 はいわゆる可変長エンコーディングで、16 ビットのコード単位を使用して Unicodeコード ポイント(長さは 21 ビット) を表します。歴史的には、Unicode がまだ 16 ビット コードだったときにUCS-2から来ました (これは後で不十分であると見なされたため、21 ビットに拡張されました)。

UTF-16 は 16 ビット コード単位を使用するため、コード自体は 16 ビット コードですが、文字を表すには、実際の意味をもう少し詳しく調べる必要があります。

  1. Unicode の意味での文字は、おそらく意図した意味のUnicode コード ポイントを意味します。以下に 2 つのケースを示します。

    1. U+0000 から U+FFFF の範囲のコード ポイントは、単一の UTF-16 コード単位で表すことができるため、2 バイトを使用します (ここでは、コード単位とコード ポイントは同じです)。
    2. U+10000 から U+10FFFF の範囲のコード ポイントは、2 つのUTF-16 コード単位を使用して表現する必要があるため、4 バイトを使用します。
  2. 通常の意味での文字は、多くの場合、書記素を指します。実際には、これは 1 つの文字として認識されるものです。これらは、任意の多くの分音符号を持つことができます。または、レンダリング エンジンによって複数のコード ポイントから形成される合字である場合もあります。この場合の簡単な話: それらはいくつかのコードポイントで構成される可能性があるため、任意に長くすることができます。

于 2012-05-30T04:59:04.457 に答える