不可視文字チェッカー
ゼロ幅スペース、ノーブレークスペースなど、バグの原因となる隠れたUnicode文字を検出・削除。
上にテキストを貼り付けて不可視文字をチェック
関連ツール
不可視文字とは?
不可視文字は、目に見えるものを表示しないが、テキスト内に存在するUnicode文字です。謎のバグを引き起こし、文字列比較を破壊し、セキュリティ脆弱性を作り出す可能性があります。
最も悪名高いのはゼロ幅スペース(U+200B) - 文字通り何も見えませんが、文字列長にはカウントされます!
よくある不可視文字
ゼロ幅文字:
- ZWSP (U+200B) - ゼロ幅スペース
- ZWNJ (U+200C) - ゼロ幅非接合子
- ZWJ (U+200D) - ゼロ幅接合子(絵文字で使用)
- BOM (U+FEFF) - バイトオーダーマーク
特殊な空白:
- NBSP (U+00A0) - ノーブレークスペース
- 全角スペース (U+3000) - CJKの全角スペース
どこから来るの?
- ウェブサイト、PDF、Word文書からのコピペ
- 書式を追加するリッチテキストエディタ
- 異なるOS(Windows vs Mac の改行)
- 絵文字の組み合わせ(ZWJシーケンス)
引き起こす問題
開発者向け: 文字列比較の失敗、JSON解析エラー、データベース不一致、検索が機能しない
セキュリティ: 入力フィルタのバイパス、ホモグラフ攻撃
予防のヒント
- 保存前にユーザー入力をサニタイズ
- コードに貼り付ける前にこのツールを使用
- 不可視文字を検出するリンターを設定