文字コードの検索
Web処理はすべてブラウザ内で完結します。データは送信されません
「この文字の符号位置は?」「URL ではどう書く?」「この空白に見える部分には何が入っている?」を調べるためのツールです。文字を入力する(または `U+4E2D` のような符号位置を入力する)と、1 文字ごとに 1 ブロックで符号位置(U+4E2D)、十進数、UTF-8 バイト、UTF-16 符号単位、HTML 実体参照、URL エンコード、所属ブロック、分類を表示します。特に 2 点が重要です。不可視文字には可視の代替表示を付けます(空白は `␠`、タブは `␉`、改行なし空白は `␣`、ゼロ幅文字は名称を表示)。Web ページや PDF からコピーした「空白」には改行なし空白やゼロ幅文字が混ざっていることが多く、それがレイアウトの崩れやフォームの検証失敗の原因になります。また補助平面の文字は UTF-16 符号単位が 2 つ(サロゲートペア)になり、これが「文字列の長さと見た目の文字数が合わない」原因です。
機能
- 符号位置・十進数・UTF-8 バイト・UTF-16 符号単位をまとめて表示
- HTML 実体参照(中)と URL エンコード(%E4%B8%AD)をそのまま利用可能
- 不可視文字の代替表示:空白・タブ・改行なし空白・ゼロ幅文字
- 分類を表示:漢字、文字、数字、句読点、絵文字、制御文字、書式文字
- 所属ブロック(基本ラテン、CJK 統合漢字、絵文字の範囲など)
- 補助平面の文字(絵文字など)は UTF-16 で 2 単位と明示
- 符号位置からの検索も可能(U+4E2D / 0x4E2D / 十進数 20013)
- 複数文字を入力すると 1 文字ずつブロック表示
- emoji を名前で検索できます(heart でハート全部、cat でネコ全部)。結果はグループ別に並び、符号位置付きです
- ⚠️ emoji はグループ単位で絞り込みできます(顔文字 / 人とジェスチャー / 動物と自然 …)。キーワードを空にするとグループ別の一覧表示になり、厳選表の全件がグループ見出し付きで表示されます(打ち切られません)
- ⚠️ グループの絞り込みは「emoji を検索」でのみ有効です ——「各文字の符号化」は 1 文字ずつ符号化するだけで、文字に emoji グループはありません
使い方
- 文字を貼り付けます(`U+4E2D` のような符号位置の入力も可)
- 1 文字ごとにブロックができ、各符号化がすぐ表示されます
- 不可視文字を調べるときは「文字」行の代替表示を見てください
- 行末のコピーボタンで必要な値だけを取り出せます
- emoji を調べるときは「emoji を検索」を選びます。グループで絞り込むか、キーワードを空にしてグループ別に一覧表示します
よくある質問
- 「🎉」の文字列長が 2 なのはなぜですか?
- JavaScript の文字列長は UTF-16 符号単位で数えるためです。🎉(U+1F389)は UTF-16 では 2 単位(サロゲートペア)必要です。これが定番の不具合の原因です:`'🎉'.length === 2` であり、`'🎉'.slice(0, 1)` は文字を半分に切って代替文字(豆腐)を表示します。正しくは符号位置で反復する(`[...str]` や `Array.from()`)ことです。本ツールは符号単位を 1 つずつ表示するので、UTF-16 で 2 位置を占めることが一目で分かります。
- 空白に見えるが空白でない文字はどう調べますか?
- その部分を貼り付けて「文字」行を見てください。`␠` は通常の空白(U+0020)、`␣` は改行なし空白(U+00A0)、`␉` はタブ、「ゼロ幅スペース」は U+200B、「BOM / ゼロ幅改行なし空白」は U+FEFF です。いずれも画面上は見えませんが、レイアウトの崩れ、検索の不一致、フォームの「不正な文字」エラーのよくある原因です。Web ページや PDF からテキストをコピーすると混入しやすいものです。
- 「未収録のブロック」と表示されるのはなぜですか?
- ブロック表はよく使う数十種類(基本ラテン、ギリシャ、キリル、漢字、かな、ハングル、絵文字など)のみ収録しているためです。表にない文字には、近い名前を当てず「未収録のブロック」と符号位置を表示します。誤った名前を表示すると、検索しても何も見つからないからです。完全な一覧は「Unicode blocks」で検索してください。
- 逆に、符号位置から文字を調べられますか?
- できます。`U+4E2D`、`0x4E2D`、または十進数の `20013` を入力すると、まず文字に戻してから情報を表示します。数字だけの入力は十進数として扱います(`20013` は U+4E2D)。十六進数で書きたい場合は文字(`4E2D`)か接頭辞(`U+`、`0x`)を付けてください。そうしないと `20013` は 0x20013 と解釈され、まったく別の文字になります。
- グループを選んでも「各文字の符号化」で反応しないのはなぜですか?
- グループは emoji にしか存在しないためです。「各文字の符号化」は 1 文字ずつ符号化・ブロック・分類を表示するもので、文字自体に「emoji のグループ」はありません。したがってそのドロップダウンは文字モードでは使われません —— 壊れているわけでも、設定が効いていないわけでもありません。2 つのドロップダウンを分けているのはまさにこの理由で、もし「モード」と「グループ」を 1 つの一覧に統合すると、グループを選んだだけでモードが黙って emoji に切り替わり、利用者は結果を絞っただけのつもりでいることになります。
関連ツール
HTML 実体参照
エンコード< > & と引用符を HTML 実体参照に変換し、文字へ戻します。デコードは1回だけで、&lt; は山括弧ではなく < になります。すべてブラウザ内で処理します。
Base64 変換
エンコードテキストを Base64 に変換し、Base64 からテキストへ戻します。日本語や中国語、emoji も UTF-8 として正しく処理。すべてブラウザ内で完結し、内容は送信しません。
表の変換
テキストCSV・TSV・Markdown の表を相互変換:Markdown 表、ASCII 罫線表、HTML、JSON、CSV。引用符は RFC 4180 に沿って処理し、列幅は表示幅で揃えます。
URL 解析
WebURL を解析し、スキーム・ホスト・ポート・パス・クエリパラメータ・アンカーに分解します。パラメータは元の値とデコード値を並記。すべてブラウザ内で処理します。
UA 解析
WebUser-Agent を解析し、ブラウザ・バージョン・OS・デバイス種別・エンジンを判定します。判定はパターン照合による概算です。すべてブラウザ内で処理します。
HTTP ステータスコード
WebHTTP ステータスコードの検索。番号から意味を、キーワードから番号を引けます。1xx〜5xx の分類・利用場面・確認のポイント付き。すべてブラウザ内で処理します。