文字コード (Unicode) 変換
文字を貼り付けると Unicode のコードポイント・UTF-16 コード単位・UTF-8 バイト列を即時に表示します。逆方向に U+XXXX のコードポイントから文字に戻すこともでき、処理はブラウザ内で完結します。
使い方
- 上の欄に文字列を貼り付けると、1 文字ずつ「コードポイント (U+ 表記と 10 進数)」「UTF-8 のバイト列 (16 進数)」「UTF-16 のコード単位数」を表の形で即時に表示します。絵文字などサロゲートペアになる文字も 1 文字として正しく区切って表示します。
- 下の欄に
U+3042や3042のように 16 進数のコードポイントを入力すると、対応する文字に変換します。絵文字のコードポイント (例:1F600) を調べたいときにも使えます。
計算の根拠
文字と数値の対応関係は Unicode コンソーシアムが策定する The Unicode Standard が定義する「コードポイント」(U+0000〜U+10FFFF の範囲の整数) です。JavaScript の文字列は UTF-16 で格納されており、U+FFFF を超える文字 (絵文字など) は 2 つの 16 ビット「サロゲートペア」で表現されます。String.prototype.length はこの UTF-16 コード単位の数を返すため、サロゲートペアを含む文字列では見た目の文字数とずれます。このツールでは Array.from() が内部で呼ぶ Symbol.iterator がコードポイント単位で分割するため、サロゲートペアも正しく 1 文字として扱えます。UTF-8 バイト列への変換は、IETF の RFC 3629 (UTF-8, a transformation format of ISO 10646) が定める「コードポイントの範囲に応じて 1〜4 バイトの可変長バイト列にエンコードする」方式に基づき、ブラウザ標準の TextEncoder/TextDecoder (WHATWG Encoding Standard) で計算しています。逆変換は String.fromCodePoint() を使い、入力値が有効なコードポイントの範囲 (U+0000〜U+10FFFF) かどうかを検証してから文字に変換します。
よくある用途
| 場面 | 使い方 |
|---|---|
| 絵文字や特殊記号のコードポイントを調べる | 文字列欄に貼り付けて UTF-8/UTF-16 の内訳を確認 |
\uXXXX 形式のエスケープシーケンスの文字を特定する |
コードポイント欄に 16 進数を入力して文字に変換 |
| 文字列処理で文字数がずれる原因の調査 | サロゲートペアになっている文字を特定 |
| API やログに出てくる UTF-8 バイト列の検証 | 文字から期待するバイト列が出力されるか確認 |
入力した文字列はサーバーに送信されず、このページを閉じると消えます。