Unicode
Unicode は国際的な文字符号化標準で、世界中のほぼすべての文字体系の各文字に一意の符号位置(U+0000〜U+10FFFF)を割り当てる。符号空間は 1,114,112 点である。
目的
分裂した地域符号化を、世界中の文字を網羅する単一の文字集合で置き換え、文字化けと変換の負担をなくする。
メカニズム
符号位置は U+XXXX と書かれ、17 の面に分かれる。符号位置は符号化形式(UTF-8/16/32)を通じてバイトになる。文字は結合文字を伴えるため、同じ見た目の文字が複数の符号位置列に対応することがある(NFC/NFD 正規化が必要)。
ユースケース
- 多言語の Web コンテンツとデータベース保存
- 国際化(i18n)と地域化(l10n)
- 絵文字と記号のレンダリング
- クロスプラットフォームのテキスト交換
例
- 入力
éOutputU+00E9The code point of é (Latin small letter e with acute)
よくあるエラー
- Truncating a string by character count and splitting a surrogate pair
- Use surrogate-pair-aware APIs such as Intl.Segmenter
関連用語
UTF-8
UTF-8はUnicodeの可変長符号化形式で、符号位置あたり1~4バイトを使用する。ASCIIと完全な後方互換性があり、ウェブと現代のシステムの事実上の標準である。 用語集
UTF-16
UTF-16はUnicodeの可変長符号化形式で、符号位置あたり2バイトまたは4バイトを使用する。BMPの文字は1つの16ビット符号単位、追加面の文字はサロゲートペア(2単位)で表する。 用語集
ASCII
ASCII(American Standard Code for Information Interchange)は 7 ビット文字符号化標準であり、128 文字(0-127)を定義し、英字、数字、記号、制御文字を含む。 用語集
Code Point
符号位置(コードポイント)とは、Unicode 標準が各文字に割り当てる数値(U+0000 〜 U+10FFFF)であり、符号空間におけるその文字の位置番号である。 用語集
Surrogate Pair
サロゲートペアは、補助平面のコードポイント(U+10000~U+10FFFF)を 2 個の 16 ビットコードユニットで表す UTF-16 の仕組みである。 用語集
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%クライアントサイド。 ツール
Unicode アンエスケープ
Unicode Unescape — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール