-2

"1055912799" ASCII 文字列は "1055912799" Unicode 文字列と同等ですか?

4

2 に答える 2

0

ASCII は Unicode のサブセットであるため、もちろん UTF-8 でエンコードすると仮定すると、どの ASCII 文字列も Unicode で同じになります。明らかに、UTF-16 または UTF-32 エンコーディングではかなり肥大化します。

于 2012-07-19T22:20:31.860 に答える
0

はい、Unicode の数字 0 から 9 は、Ascii と同じ文字として定義されています。より一般的には、印刷可能なすべてのアスキー文字も Unicode でコーディングされています (ちなみに、コード番号は同じです)。

バイト シーケンスとしての内部表現が同じかどうかは、文字エンコーディングによって異なります。Unicode の UTF-8 エンコーディングは、現在 Ascii で使用されている唯一のエンコーディング (各 Ascii コード番号を 8 ビット バイトにマップし、最初のビットをゼロ)。

Ascii 範囲の文字の UTF-16 エンコード表現は、単純なマッピングがあるという意味で、Ascii エンコードと「同等」であると言えます。UTF-16 では、各 Ascii 文字は 2 バイト、1 つのゼロ バイト、およびアスキー番号を含む 1 バイト。(これらのバイトの順序は、UTF-16 のエンディアンに依存します。) しかし、このような「同等」の概念は通常は使用されず、特に有用ではありません。

于 2012-07-19T22:35:38.503 に答える