テキストとエンコード

Unicode・国際化ツール

画面上は同じに見えるのに文字列比較が失敗する、途中のどこかで違うエンコーディングを通ったせいで貼り付けた文字が文字化けする、別の文字体系のよく似た文字を使ったユーザー名——Unicode絡みのバグは、レンダリングされた見た目の下を覗く適切なツールがないと気づけません。このページではロケールタグや国際化アプリ向けの複数形メッセージ整形も扱います。

Unicode文字情報検索は文字列をコードポイント・書記素・生のUTF-8バイトに分解して見せるので、一見同じに見える重複が実は正規化形式の違いだったと判明することがよくあります。Unicode正規化ツールはNFC・NFD・NFKC・NFKDを並べて表示し、不可視文字検出はゼロ幅文字を暴き、ホモグリフ検出は紛らわしい文字にフラグを立てます。

9個のツール

Unicode & i18nツールに関するFAQ

見た目が同じ2つの文字列が等価判定に失敗するのはなぜですか

おそらく異なるUnicode正規化形式で符号化されています。アクセント付き文字は1つの結合コードポイントにも、基底文字と別の結合マークの組み合わせにもなり得て、どちらも表示は同じでも比較すると一致しません。Unicode正規化ツールはNFC・NFD・NFKC・NFKDを並べて表示するので、各形式を直接確認できます。

貼り付けられたテキストに含まれる不可視文字はどうやって見つけますか

不可視文字検出は貼り付けたテキストをスキャンし、ゼロ幅スペースや結合子など何も表示されない文字を見つけます。フィルターから内容を隠したり、見た目は同じでも中身が違う2つの文字列を作るために使われることがあるためです。信頼できない相手から貼り付けられたテキストは確認しておく価値があります。

文字化けはなぜ起き、あとから直すことはできますか

文字化けは、たとえばUTF-8で符号化されたテキストがLatin-1やWindows-1252など別の文字セットとして復号されたときに起こります。文字化け修復はありそうなエンコーディングの組み合わせを試し、元のバイト列とともに修復候補を並べて表示するので、実際に元のテキストを復元できるものを選べます。