UTILS.
100% ブラウザ内で完結
🔤

Unicode 文字インスペクター

任意の文字列をコードポイントに分解し、各文字の U+ 16進、カテゴリ、ブロック、UTF-8/UTF-16 バイト、HTML エンティティ、JS エスケープ、パーセントエンコード、フラグを表示します。

上にテキストを入力して各文字を検査します。

このツールについて

Unicode 文字インスペクターは、文字列を個々のコードポイントに分割し、それぞれについてあらゆる情報を表示します。(16 ビット単位ではなく)コードポイント単位で反復するため、サロゲートペアで構成される星域文字や絵文字も正しく扱われます。各コードポイントについて、グリフ、その U+XXXX の 16 進値、10 進値、よく知られた文字の名前、一般カテゴリ、属する Unicode ブロックが得られます。

すべての分析はブラウザ内でアルゴリズム的に導出され、何もアップロードされません。エンコードは原理から計算されます。UTF-8 バイトは 1〜4 バイトのエンコード規則に従い、UTF-16 コード単位は BMP 内の単一単位、またはその上の上位/下位サロゲートペア(D800–DBFF / DC00–DFFF)、HTML 数値エンティティは &#nnnn;、JavaScript エスケープは BMP には \uXXXX、星域コードポイントには \u{XXXXX}、パーセントエンコードは UTF-8 バイトを %XX として書いたものです。一般カテゴリ(Lu、Ll、Nd、Mn、Zs、Cc など)は Unicode プロパティエスケープの正規表現で検出されます。

インスペクターは、バグの原因になりやすい、またはテキストを隠すのに使われる文字にフラグを立てます。ゼロ幅文字(200B–200D、2060、FEFF)、双方向制御(200E、200F、202A–202E、2066–2069)、結合マーク、C0/C1 制御文字です。これらは点として表示され、不可視の内容が可視化されます。要約行は、コードポイント数、UTF-16 の長さ(String.length)、UTF-8 の総バイト数を報告します。このツールは検査用です。NFC と NFD の間で正規化するには Unicode 正規化ツールを使ってください。完全な分解をタブ区切りテキストとしてコピーできます。

よくある質問

なぜ絵文字は 1 エントリなのに長さが 2 なのですか?
多くの絵文字と U+FFFF を超えるすべての文字は、UTF-16 でサロゲートペア(2 個の 16 ビット単位)としてエンコードされる単一のコードポイントです。インスペクターはコードポイント単位で反復するため 1 行を表示しますが、JavaScript の String.length は 2 単位を数え、要約はそれを別途報告します。
UTF-8 と UTF-16 のバイトはどう導出されますか?
コードポイントから直接計算されます。UTF-8 は標準の 1〜4 バイト規則を使い、UTF-16 は BMP 文字には 1 単位、星域文字には上位+下位のサロゲートペア(D800–DBFF の後に DC00–DFFF)です。パーセントエンコードは単にそれらの UTF-8 バイトを %XX にしたものです。
フラグは何を意味しますか?
見落としやすい文字を強調します。ゼロ幅(200B–200D、2060、FEFF)、テキストを並べ替え得る双方向制御、前の文字に付く結合マーク、制御文字です。そうした文字は中点として表示され、隠れた、または不可視の内容が明らかになります。
公式の Unicode 文字名を表示しますか?
よく知られた文字(制御コード、スペース、ゼロ幅および bidi 制御)には名前を付け、すべてのコードポイントについて常に Unicode ブロックと一般カテゴリを表示します。Unicode データベースの完全な文字別名は同梱していないため、それ以外ではブロック名が説明として機能します。

その他のツール