web-dev-qa-db-ja.com

UnicodeとASCII文字は同じですか?

Unicode文字コードとは正確には何ですか?そして、それらはアスキー文字とどう違うのですか?

35
Ghost

Unicodeは、現在アクティブに使用されているほぼすべての言語の文字に加えて、数学記号などの他の多くの文字に一意の番号(コードポイントと呼ばれる)を割り当てる方法です。 TF-8TF-16 など、Unicode文字列をバイトとしてエンコードする方法は多数あります。

ASCIIは、128文字(a〜z、A〜Z、0〜9、スペース、句読点、および制御文字)にのみ値を割り当てます。

ASCII値を持つすべての文字について、Unicodeコードポイントとその文字のASCII値は同じです。

最近のほとんどのアプリケーションでは、ASCIIではなくUnicode文字列を使用することをお勧めします。これにより、たとえば、ユーザーの名前や住所にアクセント記号付きの文字を使用したり、インターフェイスを英語以外の言語にローカライズしたりできます。

54
Mark Byers

最初の128 nicode コードポイントはASCIIと同じです。その後、彼らは100,000以上を持っています。

Unicodeには2つの一般的な形式があります。 TF-8 各値に1〜4バイトを使用するため(最初の128文字ではUTF-8はASCIIとまったく同じです)、UTF-16、 2または4バイトを使用します。