文字エンコーディング

ASCIIコード:

コンピュータ内部では、すべてのデータは、バイナリ表現を使用しました。各二進数字(ビット)は、二つの状態0と1を有し、そのため、8ビットバイト(バイト)と呼ばれる256個の状態を、組み合わせることができます。バイト合計256個の異なる状態、シンボルに対応する各状態を表すために使用することができ、それは000万から11111111の256個のシンボルです。

ASCIIコード:1960年代、米国では、英語の文字とビットの間の関係を文字エンコーディングのセットを開発した均一な規制をしました。これは、ASCIIコードと呼ばれています。ASCII符号化コードは、スペース「SPACE」と、128文字の合計を提供する32(バイナリ00100000)であり、大文字のAは、(01000001二進)65です。128個のシンボルだけは、まず1つの一様な所定のゼロの後ろにバイト7をとり、(32個の制御シンボルなどをプリントアウトすることができません)。

短所:

あなたはすべての文字を表すことはできません。

同じ文字エンコーディングが同じではありません表します。たとえば、130はその文字を表しヘブライ語でコーディング、フランスの符号化におけるéを表しギメル(ג)

Unicodeエンコード:

Unicodeコード:それは、世界のすべての文字を含めることができますが、固定長は、一部のストレージスペースが無駄になり、Unicode文字コード・テーブルは2バイトです。

文字化け:多くのエンコーディングの世界ではありますが、それは別のシンボルと進数として解釈することができます。そのため、テキストファイルを開くために、あなたはエンコーディングを知っているか、間違ったエンコーディングを読み込む必要があり、それが文字化けします。

ユニコード:コーディングは、世界のすべてのシンボルが含まれています。各シンボルは、固有のコードが付与され、ユニコードの使用が文字化けしていません。

ユニコードの欠点:ユニコードは、バイナリコードシンボルを提供し、これはバイナリコードを保存する方法を指定しない:UnicodeとASCII区別できない:コンピュータは、記号または3つのバイトを区別しない3つのシンボルを表します。ユニコード統一規制場合、各記号は3または4バイトで表現される加えて、我々は文字1バイトのみで十分であることを知って、そしてすべては、各文字の2つのまたは3バイトを持っている必要がありますそれはそれのためのストレージスペースの大きな無駄である、0です。

UTF-8:

UTF-8:Unicodeの最適化のために、あなたは1バイト文字、中国語の文字、3つのバイトを占め、世界のすべての文字を含めることができます。

UTF-8は、インターネット上でUnicodeを使用して最も広く使用されている実装です。

UTF-8は、可変長符号化です。これは、6バイトにシンボルを使用することができるバイトの長さは、シンボルに応じて変化します。

UTF-8エンコーディング規則:

1)UTF-8エンコーディング単一バイトは、バイトの最上位ビットは、残りの7ビットは、文字(ASCIIコードと等価)を符号化するために使用され、0です。

2)マルチバイトUTF-8符号化のために、そしてコーディングがnバイトを含む場合、最初のnビットの最初のバイトが1であり、最初のn + 1ビットの第1バイトがバイト、0でありますそれは文字をエンコードするために使用残り。すべてのバイトの最初のバイトの後に、上位2ビットが「10」で、残りの6ビットは、文字をエンコードするために使用されます。

おすすめ

転載: www.cnblogs.com/zhangze-lifetime/p/11598406.html