メインコンテンツに移動

紛らわしい文字を安全なテキストに正規化する

紛らわしい文字の正規化とは、そっくり文字をそれがまねている通常の文字に置き換え、見た目が同じ二つの文字列が比較でも等しくなるようにすることです。ユーザー名の比較、ブロックリストの照合、識別子の重複排除の前に行うと効果的です。

具体例

入力
Cоnfig file: аdmin2, Noёl, café
検出された文字体系
ラテン文字 (Latn), キリル文字 (Cyrl)
検出された文字数
7
位置文字コードポイント文字体系置換後ルール
0CU+FF23ラテン文字CNFKC 正規化
1оU+043Eキリル文字o紛らわしい文字の対応表
7fiU+FB01ラテン文字fiNFKC 正規化
10:U+FF1A共通文字:紛らわしい文字の対応表
12аU+0430キリル文字a紛らわしい文字の対応表
172U+FF12共通文字2紛らわしい文字の対応表
22ёU+0451キリル文字ë紛らわしい文字の対応表
読み取り可能な Unicode を保持する
Config file: admin2, Noël, café
厳密な ASCII フォールバック
Config file: admin2, Noel, café

仕組み

  • まず既知のそっくり文字を対応表に従って置き換えます。対応表にない文字は NFKC で正規化され、全角形、合字、その他の互換文字が標準の文字に変換されます。
  • 「読み取り可能な Unicode を保持する」は、対応表で定義されている場合にアクセント付きの文字を残します(例:キリル文字の ё → ë)。「厳密な ASCII フォールバック」は代わりに通常の ASCII 文字を使います(ё → e)。
  • 対応表になく NFKC でも変化しない文字はそのまま残るため、café はどちらのモードでもアクセントを保ちます。正規化したテキストは比較用のキーであり、セキュリティの判定ではありません。元のテキストも保存し、検出された文字を確認してください。

変換はベストエフォート型です。マッピングされた混同可能要素と NFKC フォールディングは決定的ですが、一部の正当な Unicode にはフラグが立てられません。

あなたのテキスト

貼り付けまたは入力 - 入力すると結果が更新されます (長い入力の場合は軽くデバウンスされます)。

30 文字をスキャン
7 件の疑わしい文字
厳密な ASCII フォールバック
変換モード

厳密 ASCII モードでは、既知の類似文字を積極的に ASCII に置き換えます。文字がバンドルされたマップまたは NFKC で折りたたまれている場合、正規の非ラテン語テキストが変更される可能性があります。

オリジナル (疑わしい文字にマークが付いています)

元のビュー内の疑わしい文字には下線が引かれ、「疑わしい」というラベルが付けられます。ハイライトカラーに加えて。

suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
クリーンアップ後の出力
文字の分析
インデックス (0 ベース)元の文字置換後コードポイント理由
0CCU+FF23NFKC normalization changed this character (compatibility or width folding).
1оoU+043ENon-ASCII confusable mapped to a safer Latin ASCII equivalent.
2nnU+006ENot flagged as a confusable or compatibility character.
3ffU+0066Not flagged as a confusable or compatibility character.
4iiU+0069Not flagged as a confusable or compatibility character.
5ggU+0067Not flagged as a confusable or compatibility character.
6 U+0020Not flagged as a confusable or compatibility character.
7fifiU+FB01NFKC normalization changed this character (compatibility or width folding).
8llU+006CNot flagged as a confusable or compatibility character.
9eeU+0065Not flagged as a confusable or compatibility character.
10::U+FF1ANon-ASCII confusable mapped to a safer Latin ASCII equivalent.
11 U+0020Not flagged as a confusable or compatibility character.
12аaU+0430Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
13ddU+0064Not flagged as a confusable or compatibility character.
14mmU+006DNot flagged as a confusable or compatibility character.
15iiU+0069Not flagged as a confusable or compatibility character.
16nnU+006ENot flagged as a confusable or compatibility character.
1722U+FF12Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
18,,U+002CNot flagged as a confusable or compatibility character.
19 U+0020Not flagged as a confusable or compatibility character.
20NNU+004ENot flagged as a confusable or compatibility character.
21ooU+006FNot flagged as a confusable or compatibility character.
22ёeU+0451Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
23llU+006CNot flagged as a confusable or compatibility character.
24,,U+002CNot flagged as a confusable or compatibility character.
25 U+0020Not flagged as a confusable or compatibility character.
26ccU+0063Not flagged as a confusable or compatibility character.
27aaU+0061Not flagged as a confusable or compatibility character.
28ffU+0066Not flagged as a confusable or compatibility character.
29ééU+00E9Not flagged as a confusable or compatibility character.

その他のガイド