web-dev-qa-db-ja.com

ASCII vs Unicode + UTF-8

文字エンコーディングに関するジョエル・スポルスキーの「絶対最小」 。 ASCIIはコードポイント+エンコードスキームであり、現代では、エンコードポイントスキームとしてUnicode、エンコードスキームとしてUTF-8を使用しています。これは正しいですか? ?

38
Quest Monger

はい。ただし、UTF-8はanエンコーディングスキームです。他のエンコードスキームには、UTF-16(2つの異なるバイト順)とUTF-32が含まれます。 (混乱のため、MicrosoftソフトウェアではUTF-16スキームは「Unicode」と呼ばれています。)

また、正確には、ASCIIを定義する米国規格は、バイト単位で特定の転送エンコードを指定せずに、文字のコレクションとそのコーディングを7ビット量として指定します。 、さまざまな方法で使用されました。たとえば、5つのASCII文字が1つの36ビットストレージユニットにパックされるように、または8ビットバイトがチェック目的で追加バイトを使用するように(パリティビット)または転送制御用。しかし、最近ではASCIIが使用されているため、1つのASCII文字は、最初のビットがゼロに設定された8ビットバイトとしてエンコードされます。 デファクト標準エンコーディングスキームであり、多数の仕様で暗示されていますが、厳密に言えばASCII標準の一部ではありません。

29

現代では、ASCIIは、独自のスキームではなく、UTF-8のサブセットです。UTF-8はASCIIとの下位互換性があります。

39
Remy Lebeau