UnicodeとUTF-8の詳しい解説

結論は

Unicode は文字セットです
UTF-8 はエンコード規則です

文字セット: 各文字に固有の ID (SCII コードなど) を割り当てます。
エンコード規則: コード ポイントをバイト シーケンスに変換するための規則

バックグラウンド

ここに画像の説明を挿入

古いルールでは、画像とテキストを使用して説明します。ASCII文字セットは英語の文字しか表現できないため、より多くの国の文字をカバーするために、 Unicode文字セットが共同で開始されました
ここで、Unicode が文字セットの概念であることは明らかなので、説明を続けます:グローバルに統一された文字セットがあるため、もちろん対応するエンコード規則が必要です. 最も初期のエンコード規則はUTF -32 です: UTF-32 は単純ですが、欠点も明らかです. UTF-32 と ASCII を使用して西洋文字のみのドキュメントをエンコードすると仮定すると、前者は後者の 4 倍のスペースを必要とします (ASCII は 1 バイトしか必要としません)保管用)。ストレージおよびネットワーク転送では、より省スペースの可変長エンコーディング方式である UTF-8 が通常使用されます. UTF-8 は、Unicode 文字を表す 8 ビット グループの形式を表し、1 ~ 4 バイトを使用して文字を表します. ここで、UTF-8 は UTF-32 ほど不変ではなく、英字であれば 1 バイト、漢字であれば 3 バイトで表現されることに注意してください。



ルール

半角文字、バイトの最初のバイトが 0、(英字など、UTF-8 では 1 文字しか占有しない)
n バイト文字 (n>1)、最初のバイトの最初のnビットが設定されますn +1ビットは 0 に設定され、次のバイトの最初の 2 ビットは 10 に設定され、残りのバイトは Unicode コード
UTF-8 で埋められます。リソースを節約するために、可変長エンコーディングが採用され、エンコード長が 1 バイトから 6 バイトの場合、合計で次のような状況があります。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/fancynthia/article/details/128838217