文字コード判定
ファイルを読み込むと、BOM・バイト列の構造・復号後の文字の自然さから文字コードを判定し、候補を信頼度つきで一覧表示します。各候補で読んだ場合のプレビューも並ぶので、目視で正解を選べます。
判定のしくみ
第 1 に BOM を確認します(あれば確定)。第 2 に候補ごとのバイト列の妥当性を検査します — UTF-8 なら多バイト列の形と冗長符号化の有無、Shift_JIS なら先導バイトと後続バイトの範囲、EUC-JP なら 0x8E / 0x8F と 0xA1-0xFE の組み合わせ。第 3 に復号後の文字列を採点します(制御文字や私用領域、U+FFFD は減点、かな・漢字・ASCII は加点)。
なぜ 100% は無理なのか
短いテキストや ASCII だけのテキストは複数の文字コードで同一のバイト列になるため、原理的に区別できません。また EUC-JP のバイト列は Shift_JIS の半角カナ列としても成立します。だから本ツールは 1 つに断定せず、候補と信頼度を並べます。
判定できたあと
判定結果のプレビューで正しい候補が分かったら、文字コード変換ツールで UTF-8 などに変換してください。CSV なら CSV 文字化け修正ツールが Excel 用の出力までまとめて行います。
よくある質問
どの文字コードを判定できますか?
UTF-8(BOM 有無)、Shift_JIS(CP932)、EUC-JP、UTF-16LE、UTF-16BE、ISO-2022-JP、および ASCII を判定します。
信頼度の数字は何を表しますか?
バイト列の妥当性と復号後の文字の自然さを合成した 0〜1 のスコアです。BOM がある場合は 1.00 になります。0.9 を超えていればほぼ確実、0.5 前後なら他の候補のプレビューも見比べてください。
バイナリファイルを入れたらどうなりますか?
どの候補も妥当性検査に落ちるか信頼度が低くなります。プレビューが記号の羅列になる場合はテキストファイルではありません。
ファイルは送信されますか?
送信されません。File API でブラウザ内に読み込み、JavaScript で判定しています。