Unicodeについて
ある良い日、人類は電子コンピュータを発明しました。 彼らは世界中の様々な人々によって有用なツールとして選ばれました。みんな幸せだった。
しかし、その後、これらの人々は、テキストの形でお互いに自分の仕事、物語や面白いジョークを送信したかったです。 そして残念なことに、これらの愚かな人々は、一つの言語と書き込みシステムを使用することに同意することはそれは大丈夫ですが、彼らはまた、彼らのテキストにencodingformatを使用することに同意しませんでした。,
レガシーエンコーディング
あなたが見る、コンピュータは文字や行ではなく、ビット、バイト、数字で考えます。 だから私たち人間はテキストを表現する方法を考え出さなければなりませんでした数字の束として…簡単です! で地図をシンボルからwritingsystemの選択肢の数字はコンピュータも取付けることができます。 たとえば、あなたが今読んでいるテキストでは、小文字のラテンアルファベット、ato zは、97から122までの数字でcariedされています。 なeveryonewithコンピュータで読みます。, 彼らはキリル文字、ギリシャ文字、アラビア文字、漢字文字、カタンカ文字、漢字などのスクリプトを使い、テキストをエンコードするために同じナンバートリックを使った。 たとえば、WINDOWS-1251エンコーディングではキリル文字Π(De)が196としてエンコードされており、ASCII拡張エンコーディングではボックスを描画するために使用される垂直線である’─’がエンコードされている。
だから、世界の反対側にあなたの友人が送ったテキストファイルを開く前に、まず彼らがそのファイルを書くために使用したエンコーディングを知 きんであり、これまで多くのこれらの古いエンコーディングでは、ほぼ60!, したがって、ファイルを開くと、次のようになります:
これの正しい用語はmojibakeです。
UTF-8
では、これらすべての異なるエンコーディングを持つ問題をどのように修正するのですか?まあ、答えは非常に簡単です:ちょうど単一の大きなエンコーディングを作成するすべてのものと記号が含まれています。 これはUnicodeです。 Unicodespecifiesいわゆるコードポイントまたは文字の範囲。 それは実際のエンコーディング自体ではなく、Unicodeポイントをエンコードするために使用される形式のいずれかです。 最も一般的に使用されるUnicodeフォーマットはutf-8である。, UTF-16やUTF-32のような他の形式がありますが、UTF-8はUnicodeの最も素晴らしい形式です。
- 何でも保存できます。
古いエンコーディングでは、文書全体が同じエンコーディングを使用して書かれる必要があり、単一の文書で複数の書き込みシステムを使用すること UTF-8ユーザーを使用することができます。 - 可変文字長を使用します。
Unicodeには、最大4,294,967,296(4バイト=32ビット=2^32)のコードポイントを格納できるスペースがあります。 ドキュメントやウェブサイトは、各文字が4バイト大きいときに四倍aslargeになります。, UTF-8では、ほとんどのラテン文字にはワンバイトしか使用されず、あまり一般的でない文字には最大四バイトしか使用されません。 - ASCIIと下位互換性があります
最初の255のコードポイントはUTF-8でエンコードされていますasASCIIまったく同じです。 ASCIIはUTF-8になる前に広く使用されていた形式でしたpopular.By 後方互換性があるため、UTF-8プログラムはASCIIでエンコードされたファイルを処理できます。
UTF-8を使用していないドキュメントやwebサイトが表示されることがあります。おそらく北京語のような東の言語を使用するウェブサイトで。どうして?, ウェブサイトの所有者が彼らのお金のonbandwidthの費用を吹きたいと思わないので。 奇妙に聞こえるか。 じゃあ説明しましょう ラテン文字の多くを持つ文書は、最も一般的な文字は一つのバイトだけ大きいので、サイズが小さくなります。 他の書記体系は、単一の文字が最大四バイト大きくなることができるユニコード範囲でエンコードされています! これらの文書は、言語で書かれた文書よりもちょうど大きいですそれはラテン文字を使用しています。 この現象の例は、ロシアのソーシャルウェブサイト、vk.com—–, このウェブサイトでは、キリル文字をワイド文字でエンコードし、帯域幅を節約するため、Windows-1251encodingを使用しています。
今日では、UTF-8が最も一般的に使用されるテキスト形式です。internet.It また、このウェブサイトのバックボーンであり、Unicode、Lenny、および他のすべてのドンガーは、おそらくASCII文字範囲に限定されます。
Leave a Reply