🔡 文字コード変換
文字とコードポイント(U+XXXX)・10進・UTF-8・HTML実体参照・\uXXXX を相互変換します。絵文字対応・完全クライアント処理。
入力
文字ごとの内訳
形式ごとのまとめ(全体)
※ すべてブラウザ内で処理され、入力した文字は外部に送信されません。U+ は Unicode コードポイント、UTF-8 はバイト列の16進、&#x… / &#… はHTMLの数値文字参照、\uXXXX は JavaScript などのエスケープ表記です。
解説
文字コード変換ツールは、入力した文字が内部でどんな番号やバイトで表されているかを調べ、複数の表記に変換するツールです。文字 ↔ Unicodeコードポイント(U+XXXX)↔ 10進数 ↔ UTF-8バイト ↔ HTML数値文字参照 ↔ \uXXXX を一度に相互変換でき、Webページのコーディングや文字化けの調査、プログラムでの文字指定などに役立ちます。すべてブラウザ内で動く完全クライアント処理です。
Unicodeのコードポイントは、世界中の文字に振られた一意の番号で、「U+」に続けて16進数で表します。たとえば半角の「A」はU+0041(10進で65)、ひらがなの「あ」はU+3042(10進で12354)、漢字の「漢」はU+6F22です。本ツールは各文字のコードポイントを16進・10進の両方で表示します。
UTF-8は、Unicodeのコードポイントを実際のバイト列(データ)に変換する代表的な方式で、現在のWebの標準です。ASCII(半角英数記号)は1バイト、ラテン文字の一部は2バイト、日本語などは3バイト、絵文字の多くは4バイトで表現されます。たとえば「あ」はUTF-8で E3 81 82 の3バイト、「A」は 41 の1バイトです。本ツールは各文字のUTF-8バイトを16進で表示します。
HTMLでは、文字を「数値文字参照」という形で書くこともできます。16進表記の あ や、10進表記の あ はどちらも「あ」を表します。特殊な記号や、環境によって入力しにくい文字をHTMLに直接埋め込みたいときに使われます。本ツールは選んだ文字に対応する両方の実体参照を生成するので、そのままコピーして使えます。
プログラミングでよく使う \uXXXX エスケープにも対応しています。JavaScriptやJava、JSONなどでは、「あ」を \u3042 のように書けます。なお、絵文字のようにU+10000以上のコードポイントは、UTF-16では2つの符号単位(サロゲートペア)で表されるため、\uD83D\uDE00 のように2つに分かれます。本ツールはこの分解と、ES2015以降の \u{1F600} の両方を表示します。
絵文字やサロゲートペアの扱いは、文字コードを扱ううえでつまずきやすいポイントです。たとえば「😀」はコードポイントU+1F600(10進128512)で、UTF-8では F0 9F 98 80 の4バイト、UTF-16では D83D DE00 の2つの符号単位になります。JavaScriptの素朴な文字数カウント(length)ではこうした絵文字が2文字と数えられてしまいますが、本ツールはコードポイント単位で正しく1文字として分解して表示します。
よくある質問
文字コードはどうやって変換しますか?
テキスト欄に文字を入力するだけで、コードポイント(U+XXXX)・10進・UTF-8バイト・HTML実体参照・\uXXXX に自動で変換されます。各形式はコピーボタンでそのまま使えます。
絵文字のUnicodeは調べられますか?
はい。絵文字を貼り付けると、そのコードポイント(例: 😀 は U+1F600)やUTF-8バイト、サロゲートペアの \uXXXX 表記まで正しく表示します。
U+3042 は何の文字ですか?
ひらがなの「あ」です。U+の後ろは16進数のコードポイントで、10進では12354、UTF-8では E3 81 82 の3バイトになります。本ツールに「あ」を入力すると確認できます。
UTF-8とUnicodeの違いは何ですか?
Unicodeは文字に番号(コードポイント)を割り当てる規格、UTF-8はその番号を実際のバイト列に変換する方式の一つです。本ツールは両方を同時に表示します。
HTMLの数値文字参照(&#xXX;)も作れますか?
はい。16進の あ と10進の あ の両方を生成します。コピーしてHTMLにそのまま貼り付けられます。
入力した文字はどこかに送信されますか?
いいえ。変換はすべてお使いのブラウザ内(クライアント)で行われ、入力内容が外部のサーバーに送信されることはありません。
サロゲートペアとは何ですか?
U+10000以上のコードポイント(多くの絵文字など)を、UTF-16で2つの符号単位に分けて表す仕組みです。本ツールでは \uD83D\uDE00 のような分解形と、\u{1F600} のまとめ形の両方を表示します。