Unicode/文字コード対応表
文字を入力すると、Unicodeコードポイント・UTF-8バイト列・JavaScript/HTML/URL/CSSエスケープの各表現を一覧比較できる無料ツール。すべてブラウザ内で完結する。
代表的な文字のコード対応表
| 文字 | コードポイント | UTF-8 | 備考 |
|---|---|---|---|
| A | U+0041 | 41 | 英大文字(ASCII、1バイト) |
| 0 | U+0030 | 30 | 数字(ASCII、1バイト) |
| ␣ | U+0020 | 20 | 半角スペース(ASCII、1バイト) |
| ! | U+0021 | 21 | 感嘆符(ASCII記号、1バイト) |
| @ | U+0040 | 40 | アットマーク(ASCII記号、1バイト) |
| © | U+00A9 | C2 A9 | 著作権記号(Latin-1補助、2バイト) |
| € | U+20AC | E2 82 AC | ユーロ記号(3バイト) |
| → | U+2192 | E2 86 92 | 右矢印(矢印記号、3バイト) |
| あ | U+3042 | E3 81 82 | ひらがな(3バイト) |
| 漢 | U+6F22 | E6 BC A2 | 漢字(CJK統合漢字、3バイト) |
| 한 | U+D55C | ED 95 9C | ハングル(3バイト) |
| 😀 | U+1F600 | F0 9F 98 80 | 絵文字(基本多言語面外、4バイト、JSではサロゲートペア) |
使い方のヒント
- 入力欄には1文字だけでなく複数文字を入力でき、その場合は文字ごとに結果ブロックが分けて表示されます。
- 絵文字(😀など)はUnicodeの基本多言語面(BMP、U+0000〜U+FFFF)の外側にあるため、JavaScriptの文字列内部では2つのコードユニット(サロゲートペア)で表現されます。「JavaScript エスケープ」の行に2つの`\uXXXX`が並ぶのはこのためです。
- CSSエスケープは`\41`のようにコードポイントの16進数をそのまま書きますが、直後に16進数として解釈されうる文字(0-9・a-f)が続く場合に備え、区切りとして末尾に半角スペースを1つ入れるのが安全です。
- HTML実体参照は10進数(`A`)・16進数(`A`)のどちらの書き方でもブラウザは同じ文字として解釈します。
- コピーボタンで各行の値をクリップボードにコピーできるため、コードやCSSに直接貼り付ける用途で便利です。
よくある質問
JavaScriptの文字列はUTF-16という方式で内部表現されており、1つのコードユニットは16ビット(0〜65535)しか表現できません。Unicodeには65536(U+10000)以降のコードポイントも多数存在するため(絵文字の大半はここに含まれます)、それらは「上位サロゲート」と「下位サロゲート」という特別な2つのコードユニットの組み合わせ(サロゲートペア)で表現されます。`charCodeAt`で1文字ずつ取得すると、この2つの値が別々に返ってきてしまうため、正しいコードポイントを得るには`codePointAt`を使う必要があります。
Unicodeコードポイント(例: U+3042)は「どの文字か」を表す番号そのものです。一方UTF-8はそのコードポイントをコンピューター上でバイト列として保存・送信するための「エンコーディング方式」の1つです。同じコードポイントでも、UTF-8では1〜4バイトの可変長で表現され、UTF-16やUTF-32など別のエンコーディング方式ではバイト列が異なります。
UTF-8はASCII文字(英数字・基本記号)をそのまま1バイトで表現できるため、既存の英語圏システムとの互換性が高く、かつ全世界の文字を表現できる点が評価されました。2026年現在、Web上のテキストの大多数はUTF-8でエンコードされており、HTMLのdefault文字コードとしてもUTF-8が推奨されています。
いいえ、異なります。HTML実体参照は`A`(10進数)や`A`(16進数、`x`接頭辞あり)という書式で、HTML文書内でのみ有効です。一方CSSエスケープは`\41`のように`U+`や`x`を付けず16進数のみを書く書式で、CSSのセレクターやプロパティ値の中で使います。用途に応じて正しい書式を選ぶ必要があります。
余談ですが ― バラバラだった文字コードを統一したUnicode
Unicodeが登場する以前、コンピューターの文字コードは国や言語ごとにバラバラでした。日本語だけでもShift_JIS・EUC-JP・JISコードなど複数の方式が並存し、異なる方式間でテキストをやり取りすると文字化けが頻発していました。1991年に公開されたUnicode 1.0は、世界中のあらゆる文字に単一の番号(コードポイント)を割り当てることで、この混乱を解消することを目指した統一規格でした。
UnicodeとISO/IEC 10646という国際規格は当初別々に策定が進められていましたが、後に協調して同じ文字レパートリーとコードポイント割り当てを共有するようになりました。現在Unicodeは絵文字を含む15万文字以上を収録し、毎年新しいバージョンが公開されて文字が追加され続けています。
UTF-8は1992年にKen ThompsonとRob Pikeによって設計されたエンコーディング方式で、ASCII文字との完全な後方互換性を保ちながら全Unicode文字を表現できる点が画期的でした。この設計が功を奏し、Web上の文書のエンコーディングとして事実上の標準の地位を獲得しています。