ホームページ  >  記事  >  ウェブフロントエンド  >  utf8 と Unicode エンコードの間にはどのような関係がありますか?何が違うの?_基本チュートリアル

utf8 と Unicode エンコードの間にはどのような関係がありますか?何が違うの?_基本チュートリアル

WBOY
WBOYオリジナル
2016-05-16 12:09:422045ブラウズ

UTF8 == Unicode 変換形式 -- 8 ビット
は Unicode 送信形式です。つまり、Unicode ファイルを BYTE トランスポート ストリームに変換します。

UTF8 ストリーム変換プログラム:
入力: 符号なし整数 c - エンコードされる文字のコード ポイント (Unicode 値を入力)
出力: バイト b1、b2、b3、b4 -エンコードされたバイトのシーケンス (4 つの BYTE 値を出力)
アルゴリズム:
if (cb1 = c>>0 & 0x00
b2 = null
b3 = null
b4 = null
else if (cb1 = c>>6 & 0x1F |
b2 = c>>0 & 0x3F |
b3 = null
b4 = null
else if (cb1 = c>>12 & 0x0F |
b2 = c>>6 & 0x3F | | 0x80
b4 = null
else if (cb1 = c>>18 & 0x07 b2 = c>>12 & 0x3F | >>6 & 0x3F |
b4 = c>>0 & 0x3F |
終了 if
=========== ====
unicode は、たとえば漢字のコードを指定するコード表です。 GB2312-1980、GB18030 などに似ていますが、文字セットが異なります。
=====================
Unicode コードは、1 バイト、または 2、3、または 4 バイトの長さの UTF8 に変換できます。コードは、Unicode コードの値によって異なります。英語の Unicode コードの値は 0x80 未満であるため、UTF8 で 1 バイトだけ送信する必要があり、2 バイトの Unicode を送信するよりも高速です。
UTF8 は、Unicode を送信するために考案された単なる「再エンコード」方式です。
UTF8 を Unicode に変換するには、上記のプログラムを使用して逆算するだけです。

UTF8 は、既存の ASCII システムから Unicode システムへの移行ソリューションです。 UTF8 は ASCII 互換性を保証し、大規模な文字セットに拡張します。これは Unicode が推奨する解決策です。しかし、問題解決の角度が異なるため、既存の中国のシステムに対する良い解決策とは言えません。次のリンクは、UTF8 エンコードに関する詳細な予備知識を提供します http://www.acnis.com/modules.php?name=ArticlE&file=article&sid=102 参照:
http://www.acnis.com/modules? name=ArticlE&file=article&sid=102
Unicode とは何ですか。 Unicode の基本的な目標は、すべてのエンコーディングを統一すること、つまり、Unicode にはすべての文字セットが含まれることです。このように、システムが Unicode をサポートしている限り、これらの文字セットを処理できます。通常、Unicode には 2 バイトがあります。現在のすべての Windows オペレーティング システムは Unicode をサポートしています。

UTF8 とは何ですか? UTF8 は Unicode エンコーディングです。つまり、そのエンコードされた文字セットは Unicode と一致します。ただし、エンコード方法が異なります。英語の文字の場合、UTF8 エンコードは通常と同じで、1 バイトを使用します。ただし、中国語の場合は 3 バイト (メモリ内では 3 バイト) で表す必要があります。

UTF8 と Unicode の欠点は、検索や検索などの問題を処理する場合、アルゴリズムがより複雑で (メモリ内で) 非効率的に見えることです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。