UTF-8 は Unicode の可変長文字エンコーディングです。Unicode 標準の任意の文字を表すために使用でき、そのエンコーディングの最初のバイトは依然として ASCII と互換性があるため、オリジナルのソフトウェアはプロセス ASCII 文字は、変更なし、またはわずかな変更のみで引き続き使用できます。
UTF-8 (8 ビット、ユニバーサル文字セット/Unicode 変換形式) は、Unicode の可変長文字エンコーディングです。 Unicode 標準の任意の文字を表すために使用でき、そのエンコードの最初のバイトは依然として ASCII と互換性があるため、ASCII 文字を処理する元のソフトウェアは、変更なし、またはわずかな変更のみで引き続き使用できます。したがって、電子メール、Web ページ、およびテキストを保存または送信するその他のアプリケーションでは、このエンコーディングが徐々に推奨されるようになりました。
基本機能
UCS 文字 U 0000 ~ U 007F (ASCII) は、バイト 0x00 ~ 0x7F (ASCIⅡ 互換) としてエンコードされます。これは、7 ビット ASCII 文字のみを含むファイルは、ASCII エンコードでも UTF-8 エンコードでも同じであることを意味します。
0x007F より大きいすべての UCS 文字は複数バイトの文字列としてエンコードされ、各バイトにはフラグ ビットが設定されます。したがって、ASCII バイト (0x00 ~ 0x7F) が他の文字の一部になることは不可能です。非 ASCII 文字を表すマルチバイト文字列の最初のバイトは常に 0xC0 から 0XFD の範囲内にあり、文字に含まれるバイト数を示します。マルチバイト文字列の残りのバイトは、0x80 ~ 0xBF の範囲にあります。これにより、再同期が非常に簡単になり、エンコーディングがボーダレスになり、欠落バイトの影響をほとんど受けなくなります。
UTF-8 でエンコードされた文字の長さは、理論的には最大 6 バイトです。ただし、16 ビット BMP 文字の長さは、最大 3 バイトのみです。Bigendian UCS-4 バイト文字列の配置順序はあらかじめ決められています。バイト0xFE と OxFF は UTF-8 エンコードでは決して使用されません。
エンコードバイト数
UTF-8 は各文字をエンコードするために 1 ~ 4 バイトを使用します:
·1 つの US-ASCIl 文字のみ 1 が必要ですバイトエンコーディング (Unicode 範囲は U 0000 ~ U 007F)。
·ラテン語、ギリシャ語、キリル文字、アルメニア語、ヘブライ語、アラビア語、シリア語、および発音区別符が付いたその他の文字には、2 バイトのエンコードが必要です (Unicode の範囲は U 0080 ~ U 07FF)。
·他の言語の文字 (中国語、日本語、韓国語の文字、東南アジアの文字、中東の文字など) には、最も一般的に使用される文字が含まれており、3 バイトのエンコーディングが使用されます。
·まれに使用されるその他の言語文字では、4 バイト エンコーディングが使用されます。
UTF-8 エンコード ルール:
バイトが 1 つだけの場合、そのバイナリの最上位ビットは 0 です。複数バイトの場合、最初のバイトは開始から始まります。最上位ビットから、値 1 を持つ連続するバイナリ ビットの数によってエンコードされるバイト数が決まり、残りのバイトは 10 から始まります。
以上がutf-8って何のエンコーディングですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。