紛らわしい文字ハイライター
l/I/1、O/0、rn/m などの視覚的に似た文字をハイライトし、テキストの可読性を向上させて曖昧さを検出します
入力
出力
Readme
紛らわしい文字とは何ですか?
紛らわしい文字とは、多くのフォントでほぼ同じに見えるが、実は異なる文字である、文字、数字、記号のことです。例えば、小文字の「l」(エル)、大文字の「I」(アイ)、数字の「1」、パイプ記号「|」は、ArialやHelveticaなどのサンセリフフォントではほぼ区別がつきません。同様に、大文字の「O」と数字の「0」もよく混同されます。
これらの視覚的な曖昧さは実際の問題を引き起こします。プログラミングでは、変数名に「0」(ゼロ)の代わりに「O」を使用すると、非常に見つけにくいバグが発生します。セキュリティの観点では、攻撃者は紛らわしい文字を利用して、欺瞞的なURL、ユーザー名、またはパスワードを作成します。日常的な文章では、似た文字が入れ替わると、読者は単語やコードを誤解する可能性があります。
異なるスクリプトの文字を含む同字異体(例えば、キリル文字の「а」がラテン文字の「a」に似ている)とは異なり、紛らわしい文字は同じASCIIセット内に存在します。これらは日常的なキーボードの一部であるため、見落とすのがさらに簡単です。
ツールの説明
このツールはテキストをスキャンし、色分けされた下線を使用して、紛らわしいグループに属するすべての文字をハイライトします。似た外観の文字の各グループは独自の色を取得し、潜在的な曖昧さを一目で簡単に見つけることができます。ハイライトされた文字の上にマウスを置くと、その正確な識別情報(完全な名前とUnicodeコードポイントを含む)が表示されます。
マルチセレクトドロップダウンを使用してハイライトする紛らわしいグループを選択でき、ユースケースに関連する特定の曖昧さに焦点を当てることができます。
例
入力:
Il1|egal passw0rd: S5Z2B8ハイライトされるもの:
I、l、1、|— 赤でハイライト(l / I / 1 / | グループ)0— 青でハイライト(O / 0 グループ)S、5— 紫でハイライト(S / 5 グループ)Z、2— オレンジでハイライト(Z / 2 グループ)B、8— ティールでハイライト(B / 8 グループ)
ホバーツールチップの例:
l の上にマウスを置くと表示されます:Lowercase L (U+006C)
I の上にマウスを置くと表示されます:Uppercase I (U+0049)
機能
- 14の紛らわしい文字グループに対する色分けされたハイライト
- 正確な文字名とUnicodeコードポイントを表示するホバーツールチップ
- 特定の曖昧さに焦点を当てるための選択可能なグループ
- 入力時のリアルタイムハイライト
- 検出されたグループと出現回数を表示するサマリーパネル
サポートされているグループ
| グループ | 文字 | 一般的な混同 |
|---|---|---|
| l / I / 1 / | | 小文字L、大文字I、数字1、パイプ | サンセリフフォントで最も一般的 |
| O / 0 | 大文字O、数字0 | コードとパスワードで頻繁 |
| rn / m | r、n、m | 「rn」は多くのフォントで「m」に似ている |
| S / 5 | 大文字S、数字5 | 類似した曲線 |
| Z / 2 | 大文字Z、数字2 | 対角線の類似性 |
| B / 8 | 大文字B、数字8 | ダブルループの類似性 |
| G / 6 | 大文字G、数字6 | 曲線形状の重複 |
| D / O / 0 | 大文字D | 丸いフォントではOと0に似ている |
| q / g | 小文字q、小文字g | ディセンダーの混同 |
| cl / d | 小文字c、小文字d | 「cl」は狭いカーニングで「d」に似ている |
| vv / w | 小文字v、小文字w | 「vv」は「w」に似ている |
| ` / ' | グレーブアクセント、アポストロフィ | ほとんどのフォントでほぼ同じ |
| ; / : | セミコロン、コロン | ドットとコンマだけが異なる |
| - / – / — | ハイフン、エンダッシュ、エムダッシュ | ダッシュの長さが異なる |
ユースケース
- コードレビュー:変数名、APIキー、または設定値で「O」の代わりに「0」を使用したり、「1」の代わりに「l」を使用したりするなどの誤りを検出します
- セキュリティ監査:URL、メールアドレス、またはユーザー生成コンテンツ内の潜在的に欺瞞的なテキストを検出します。紛らわしい文字がフィッシングやなりすましに使用される可能性があります
- タイポグラフィとプルーフリーディング:シリアル番号、ライセンスキー、または精度が重要なテキストで正しい文字が使用されていることを確認します
ヒント
- コード作成時の視覚的な曖昧さを減らすために、エディタでモノスペースフォントを使用してください
- 特定の混同(例えば、l対1)のみを気にする場合は、他のすべてのグループの選択を解除してノイズを減らしてください
- ハイライトされた文字の上にマウスを置くと、ツールチップで正確な識別情報を確認できます