およびUnicode UTF-8、UTF-16、UTF-32との間の関係

図1は、第1の符号化文字セット(文字セット)と文字セット符号化(符号化規則を示す)との間の差:Unicodeは、コード化文字セットは、UTF-8、UTF-16、UTF-32文字セット符号化です。あなたは、テキスト、画像、音声、および処理されるバイナリに変換する必要がありますを処理したい場合は2進数のコンピュータインテリジェントな処理なので、プロセスは、符号化プロセスです。初期のコンピュータ8ビット(「ビットは、ビット)の整数表すバイト最大の整数を表すことができるように、設計時にバイト(バイト)としては、255(バイナリの小数点255 = 11111111)された場合、あなたはより多くのバイトを使用する必要があります。例えば、最大の整数は2つのバイトが65535,4バイト4294967295を表すことができる最大の整数を示すことがあります。コンピュータのでアメリカン発明であり、従って最初の127の文字は文字、数字、一部の記号の場合であるコンピュータ、に符号化されます。このコードは** ** ASCIIエンコーディングと呼ばれています。非アルファベット言語の代表として中国に対処するため、世界のコンピュータの利用の促進と、バイトは、明らかに十分ではありません、少なくとも2バイト、およびASCIIエンコードと競合することはできません。そのため、中国は2312コーディングを開発しました。EUC-KR年コンパイル、日本人のShift_JISエンコーディング、日本に、世界各地の数百の言語があることを韓国に韓国のことが考えられます。国が独自の基準を持って、それは必然的に結果がテキストの多言語混在で、**文字化け表示される、ということで、衝突します。したがって、Unicodeはされて入ってきました。あなたはゴミ問題を持っていないので、すべてのUnicode言語は、コーディングのセットに統一されています。Unicodeの規格が進化している、最も一般的なのは、(あなたは非常にリモート文字にしたい場合は、4つのバイトを必要とする)の文字を表すために2つのバイトを使用することです。最近のほとんどのオペレーティングシステムやプログラミング言語には直接Unicodeをサポートしています。さて、違いをコーディングストロークとストロークのUnicode ASCII:ASCIIコードは1バイトで、Unicodeのエンコーディングは、通常は2バイトです。文字Aは65 ASCIIコード化された小数、バイナリ01000001であり、ASCII文字でエンコードされた0は48進、バイナリ00110000、アテンション文字である「0」Unicodeは20013バイナリ0,100,111,000,101,101符号化されたASCIIコード化された小数の範囲を超えて漢字、異なって0~10の整数です。あなたは推測することができ、Unicodeを使用したエンコーディングのASCIIエンコーディング場合は、ちょうど0の前で、そのため、Unicodeは、Aは0,000,000,001,000,001でエンコードすることができます。

新たな問題が浮上している:Unicodeエンコーディングに統一した場合、ゴミ問題は消えます。あなたは、本質的に記述した場合、すべてのテキストが英語であるが、その後、ASCIIエンコーディングよりもUnicodeエンコーディングを使用することは二重の保管や輸送上のストレージスペースは非常に価値があるだろうが必要です。したがって、保護の精神、及び「可変長符号」UTF-8エンコーディングにUnicodeエンコードの出現です。UTF-8バイトに符号化された図1~6の異なるサイズにUnicode文字に従って符号化が、一般的に使用される文字は、典型的には、3バイトのバイト文字にエンコードされている、唯一のまれな文字であろうバイト4-6にエンコード。テキストは英語の文字の多くが含まれて転送したい場合は、スペースを節約することができるようになりますUTF-8エンコーディングを使用

 

2、2バイトの後に曖昧になりやすい、ユニコードの最初のバージョンは、すべての文字を表現するために2バイト(16ビット)を使用することで、実際には、この引数には、あいまいさを作成する可能性があり、私たちは常に言葉を感じてみましょう任意の文字がUnicodeで表現されるので、もしコンピュータに代わって、お祭りは、2バイトに格納されている場合、その占有スペースは2バイトです。上記の文は間違っています。Unicodeは、実際には最初は完全な数学的問題であるすべての文字に対応する一意の番号を割り当て仕様を定義することで、2つのステップを含みます。第二段階は、コンピュータに保存された番号に対応する文字が、これは、コンピュータ上のスペースのバイト数に対する実際の会計処理を必要とする方法です。だから我々はそれをこのように解釈することができます:Unicodeは、すべての文字を表現するために0〜65535の間の数字を使用することである、文字は0〜127個の数字は、128はまだ最初のステップであるASCIIコードと同じであることを示しています。第二段階は、0〜65535のこれらの数字は、コンピュータに格納されたバイナリ文字列に変換する方法です。また、私たちの共通のUTF-8、UTF-16、UTF-32で登場し、これは確かに維持する別の方法を持っていますので、UTF(Unicodeの変換フォーマット)でした。

3、UTF-8、UTF-16年代間の差。UTF-16は、より良い任意の文字に対応する数字は、2つのバイトを保持するためにある、つまり、理解され、我々は通常、何の解決策は、UnicodeとのUnicodeのUTF-16と同等ではありません。文字は英語である場合は明らかに、しかし、それはそうする無駄だろう、なぜ私たちは完全な2つのバイトがそれを表現することができ命名したのですか?そこでここではUTF-8、8があった、ここで私たちを欺くことは比較的容易である8バイトを指すものではありません!UTF-8を使用する場合は、文字を表す変数であり、バイトであり表すことができる、それが文字に対応する現在の数に基づいているため、これは、2つあるいは3つ(3バイトの最大値)とすることができますサイズが決定されます。だから、長所と短所をUTF-8とUTF-16は、外を見るのは非常に簡単です:すべては他の言語に英語または英語と混合される場合が、英語はUTF-16よりも多くを保存するためにUTF-8を使用して、ほとんどを占め、スペース。このすべては、漢字や漢字の混合物が大半を占めるされている場合と、UTF-16が優位を占めることになります。そこフォールトトレラントでもあり、そして以下に議論します。

ここでは例があります:Unicodeのエンコーディングに対応する漢字「9」は\ u4e5dある場合(これは、16進数表現である20061 10進数の数、16進数は短くなりますが、実際には、彼らは同じです)。あるプログラムでファイルを開くときに、我々はUTF-8またはUTF-16ああを知っているあなたはどのように求めることができますか?ファイルの先頭にマーク数バイト:当然Dianshaの兆候があるでしょう。EF BB BFはUTF-8を示し、FE FFは、UTF-16を表します。

4、Unicodeバージョン2。私は一般的に使用される文字を表すためにそれを使用し、Unicodeの最初のバージョンですが、明らかに大きすぎる65535数とみなすことができないことは問題ありませんが、あなたは、特殊文字の多くを追加する場合は十分ではありません、以前に述べました。1996番目のバージョンが来たので、だから、すべての文字のために4つのバイトを使用します。これは、UTF-32で登場しました。原理は前と同じであり、UTF-32は、すべての文字は、32ビットで表現するために4バイトである置くことであり、次いで、UTF-8、UTF-16、ケースが上にあってもよいように。いずれかを表すために1バイト8 UTF-8は、特許請求の範囲のいずれかを選択してもよいし、UTF-16は、2バイトまたは4バイトから選択することができます。私はすべてのコードは、マークの先頭に対応しているここで、テキストのロゴの始まりを決定する必要があり、特にエンコーディングのタイプを知ることが以前言いました:

 

以前の規格がISOによって設定されたと言われているUCS、およびUnicodeはまったく同じですが、名前は同じではありません。UCS-2、UTF-16に対応し、UCS-4、UTF-32.UTF-8に対応するには、対応するUCSではありません。

5.まとめ

コンピュータメモリ、統一された使用Unicodeエンコーディングでは、ときにハードドライブに保存する必要がある場合や、コンバージョンに送信する:ASCII、UnicodeとUTF-8との間の関係をクリアし、我々は現在のコンピュータシステムの汎用文字エンコーディングの作品まとめることができますUTF-8としてエンコードされました。編集が完了した後、メモリにUnicode文字に変換されて読んでUTF-8文字のファイルから、時間を編集するには、メモ帳を使って、時間を節約し、ファイルを保存するためにUnicodeのUTF-8に変換します。Webの閲覧、我々は多くのページのソースのような情報が表示されますので、サーバが動的にUnicodeのUTF-8にコンテンツを生成し、ブラウザに送信されます、ページのUTF-8、それが使用されているエンコーディングを示しています。

古い9つの学校:マイクロチャンネル公衆番号への注目ドライノートより

おすすめ

転載: www.cnblogs.com/ljxt/p/11612604.html