Unicodeインスペクタ
入力文字をUnicodeコードポイント単位で解析するインスペクタ。文字化け、異体字、絵文字、不可視文字の正体をコード表現から確認できる。
Unicodeインスペクタ
4文字
3コードポイント
| # | 文字 | コードポイント | 名前 | UTF-8 | UTF-16 | UTF-32 | ブロック |
|---|---|---|---|---|---|---|---|
| 1 | A | U+0041 | U+0041 | 41 | 0041 | 00000041 | Basic Latin |
| 2 | あ | U+3042 | U+3042 | E3 81 82 | 3042 | 00003042 | Hiragana |
| 3 | 😀 | U+1F600 | U+1F600 | F0 9F 98 80 | D83D DE00 | 0001F600 | Emoticons |
使い方
- 調べたい文字列を入力する。
- 各文字のコードポイント、UTF-8、UTF-16、UTF-32を確認する。
- 文字化け、異体字、不可視文字の調査に使う。
こんな用途に
- 文字化け、異体字、絵文字の正体を調べたいとき。
- 同じ見た目の文字が同一コードポイントか確認したいとき。
- UTF-8、UTF-16、UTF-32の表現を見たいとき。
仕組み
- 入力をUnicodeコードポイント単位で分解。
- 各文字をUTF表現へ変換し、代表的なUnicodeブロック名と併せて表示。
確認ポイント
- 見た目が同じでもコードポイントが違う文字は検索や比較で一致しないことがある。
- 不可視文字の混入調査は不可視文字ビューアと併用すると見つけやすい。
手元でやるには
コードポイントと文字名を表示
必要環境: Python 3python3 -c 'import sys,unicodedata; [print(f"{c}\tU+{ord(c):04X}\t{unicodedata.name(c, "UNKNOWN")}") for c in sys.stdin.read()]'よくある質問
コードポイントとは?
Unicodeが各文字へ割り当てた番号。U+3042のような形式で表す。
UTF-8とUTF-16は何が違う?
同じUnicode文字を保存・通信するための符号化方式が違う。必要なバイト数も変わる。