不可視文字・制御文字の検出と除去
ゼロ幅スペース・BOM・NBSP・制御文字などの見えない文字を検出し、何が・どこにあるかを確認したうえで、必要に応じて除去・置き換えます。
ゼロ幅スペース・BOM・ソフトハイフン・C0制御文字等(区分1)は、常に除去されます(この設定では変更できません)。
検出して知らせるが既定では残す文字(区分3)のうち、除去するもの
入力例
結果
入力して「検出・除去」を押してください。
このツールでできること
不可視文字・制御文字の検出と除去にまつわる主な機能です。
- ゼロ幅スペース・BOM・NBSP・制御文字等を検出できます
- 検出した文字の行・桁・code point・種類を一覧表示できます
- 入力中の該当箇所を強調表示できます
- 文字ごとに「除去する」「置き換える」「残す」「保護」のどれになるかを確認できます
- 絵文字・異体字の一部は、どの設定でも除去しません
- 双方向制御文字を検出した場合は強い注意を表示します
手順を見る
- テキストを入力します
- 区分2の扱い・区分3で除去する種類を選びます既定のままでも実行できます
- 「検出・除去」を押します
- 検出一覧・処理後のテキストを確認し、「コピー」でコピーします
こんなときに使えます
こんな場面で不可視文字・制御文字の検出と除去が役立ちます。
利用シーンを見る
- 同じに見える文字列なのに一致しない原因を調べたいとき
- コピペしたコードや設定が動かない原因を調べたいとき
- 貼り付けたテキストに見えない文字が混ざっていないか確認したいとき
- ゼロ埋め等で桁が合わない原因が不可視文字かどうか確認したいとき
不可視文字・制御文字の検出と除去の考え方
詳しい解説を見る
「不可視だから全部消す」にはしていません
既定で除去するのは、消しても文章の意味・見た目が変わらない文字(ゼロ幅スペース・BOM等)だけです。 言語・表示に意味を持ち得る文字(方向の印・異体字セレクタ等)は、検出して知らせますが、既定では残します。
絵文字・異体字はどの設定でも壊しません
ZWJで連結した絵文字・異体字セレクタ付きの文字・旗のタグ文字等は、「絵文字・異体字の一部(保護)」として扱い、 区分3の除去を選んでも除去しません。保護の判定は、JavaScript標準の機能(正規表現のUnicodeプロパティ等)で行っています。
区分3の除去を選ぶと、表記・表示順が変わることがあります
方向の印・双方向制御文字等を除去すると、一部の言語の表記・表示順が変わる可能性があります。必要な場合のみ選んでください。
「安全」を保証するものではありません
本ツールは、定めた対象の文字が含まれるかを示すだけです。見た目が似た別の文字(ホモグリフ)等、対象外の文字は検出しません。 「このテキストは安全です」「不正な文字はありません」ということを保証するものではありません。
不可視文字を埋め込む機能ではありません
本ツールは検出・確認のためのものです。不可視文字を挿入する機能は提供していません。
よくある質問
「安全」であることを確認できますか?
いいえ。本ツールは、定めた対象の文字が含まれるかを示すだけです。見た目が似た別の文字(ホモグリフ)等、対象外の文字は検出しません。「このテキストは安全です」ということを保証するものではありません。
絵文字が壊れることはありますか?
いいえ。ZWJで連結した絵文字・異体字セレクタ付きの文字・旗のタグ文字等は「絵文字・異体字の一部(保護)」として扱い、どの設定でも除去しません。
区分1(ゼロ幅スペース等)を残す設定はありますか?
いいえ。区分1は消しても文章の意味・見た目が変わらない文字のみであり、常に除去します。
双方向制御文字とは何ですか?
文字の並び順を右から左・左から右へ切り替える制御文字です。ソースコードの見た目を偽る手口に使われることが知られているため、検出時に強い注意を表示します。本ツールは検出のみを行い、埋め込み方法は説明しません。
不可視文字を埋め込む機能はありますか?
いいえ。本ツールは検出・確認のためのものであり、不可視文字を挿入する機能は提供していません。
位置(桁)はどの単位で数えていますか?
コードポイント単位で数えています。サロゲートペアで表現される文字(絵文字等)を1文字として数え、タグ文字のような補助面の文字も正しく1文字として数えます。
入力したデータはサーバーへ送信されますか?
いいえ。検出・除去の処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。