UTF-8
UTF-8はUnicodeの可変長符号化形式で、符号位置あたり1~4バイトを使用する。ASCIIと完全な後方互換性があり、ウェブと現代のシステムの事実上の標準である。
目的
すべてのUnicode符号位置をカバーしながらASCII互換を保ち(英語は拡張されず)、バイト順に依存せず自己同期するため、ネットワーク転送に適する。
メカニズム
符号位置の範囲がバイト長を決める。U+0000-007Fは1バイト、U+0080-07FFは2バイト、U+0800-FFFFは3バイト、U+10000-10FFFFは4バイトである。先頭バイトの先頭に立つ1のビット数がシーケンス長を示す。
ユースケース
- HTML/XML/JSONドキュメントの既定エンコーディング
- HTTPやメール本文の転送
- ソースコードファイルのエンコーディング
- データベースの既定文字セット
例
- 入力
AOutput0x41An ASCII character, 1 byte
- 入力
U+4E2DOutput0xE4 0xB8 0xADA BMP CJK ideograph, 3 bytes
よくあるエラー
- Truncating a UTF-8 string mid-sequence, producing invalid bytes
- Truncate at character boundaries or use encoding-aware APIs
関連用語
Unicode
Unicode は国際的な文字符号化標準で、世界中のほぼすべての文字体系の各文字に一意の符号位置(U+0000〜U+10FFFF)を割り当てる。符号空間は 1,114,112 点である。 用語集
UTF-16
UTF-16はUnicodeの可変長符号化形式で、符号位置あたり2バイトまたは4バイトを使用する。BMPの文字は1つの16ビット符号単位、追加面の文字はサロゲートペア(2単位)で表する。 用語集
ASCII
ASCII(American Standard Code for Information Interchange)は 7 ビット文字符号化標準であり、128 文字(0-127)を定義し、英字、数字、記号、制御文字を含む。 用語集
BOM
BOM(バイトオーダーマーク)は Unicode 文字 U+FEFF であり、テキストストリームの先頭に置いて符号化形式とバイト順を示す。 用語集
関連ツール
Unicode コンバーター
Convert text to Unicode code points, UTF-8 hex, or UTF-16 hex online。無料、プライベート、100%クライアントサイド。 ツール
文字コードリファレンス
Reference table of character encodings。無料、プライベート、100%クライアントサイド。 ツール
エンコーディング検出ツール
テキストのエンコーディング形態を確認:ASCII サブセット、UTF-8 BOM、非 ASCII 文字の有無。テキスト入力は常に UTF-8 として再エンコードされるため、GBK/Big5/Shift-JIS などのレガシーエンコーディングは区別できません。無料、プライベート、100%クライアントサイド。 ツール