← ハシトシステム トップ English ツール ブログ
入力
結果
0
復元候補の数
0
入力の読みやすさ(0〜1)
0
入力に残る置換文字(戻らない位置)
いちばん読める候補
 
復元候補元の符号表示に使われた符号バイト数点数読み方

文字化けは「バイト列の読み違い」である

文字は最終的にバイト列として保存されます。どのバイトがどの文字を指すかを決めるのが文字コードで、UTF-8・Shift_JIS・EUC-JP・ISO-2022-JP はそれぞれ別の割り当てを持っています。保存したときの符号と、読み出したときの符号が食い違うと、同じバイト列が別の文字として表示されます。これが文字化けです。文字そのものが壊れたのではなく、読み方だけが間違っています。

読み方が間違っているだけなら、正しい読み方に直せば戻ります。このツールは、見えている文字列を「間違った符号で表示された結果」とみなして、その符号へ書き戻してバイト列を作り、別の符号で読み直します。UTF-8 の日本語を Latin-1 で表示した 文字化㑠のような形は、この手順でそのまま戻ります。

戻らない場合がある理由

表示できないバイトは、その場で置換文字(?)に差し替えられます。差し替えられた時点で元のバイトの値は残っていないので、その位置は情報として失われています。化けた文字列をそのまま保存した場合、失われた位置はどの経路でも戻りません。ツールは入力に含まれる置換文字の数を数えて表示し、残りだけを戻した部分復元も候補として出します。

元のファイルが手元にあるなら、化けた文字列を直すより、正しい符号で読み直すほうが確実です。このツールが役に立つのは、元のファイルがもう無い場合(メールの本文、ログに残った文字列、貼り付けられた断片)です。

見えている形元の符号表示に使われた符号戻せるか
文字化ã‘UTF-8Latin-1 / Windows-1252戻せる
“ú–{ŒêShift_JISLatin-1 / Windows-1252戻せる
ÆüËܸìEUC-JPLatin-1 / Windows-1252戻せる
繧ィ繝ゥ繝シ逋コ逕�UTF-8Shift_JIS置換文字の位置を除いて戻せる
????不明不明戻せない(バイトが残っていない)

復元はブラウザ標準の TextDecoder だけで行っています。TextDecoder は復号しかできないため、全バイト列を一度復号して「文字→バイト列」の逆引き表をその場で作り、書き戻しに使っています。入力した文字列がサーバーへ送られることはありません。

よくある質問(FAQ)

文字化けは必ず元に戻せますか?

戻せないことがあります。表示のときに置換文字(? や �)へ置き換えられ、その状態で保存されると元のバイトが失われます。失われた位置はどの経路でも復元できません。このツールは入力に含まれる置換文字の数を数えて表示し、残りだけを戻した部分復元も候補として出します。

どういう仕組みで戻しているのですか?

見えている文字列を「間違った符号で表示された結果」とみなし、その符号へ書き戻してバイト列を作り、別の符号で読み直します。TextDecoder は復号しかできないので、全バイト列を一度復号して文字からバイトへの逆引き表をブラウザ内で作っています。

候補が複数出たとき、どれが正解ですか?

点数は「文章として読める度合い」の目安で、正解の保証ではありません。上から順に読んで、意味の通るものを選んでください。同点のときは完全復元を部分復元より先に、UTF-8 を他の符号より先に並べています。

入力した文字列は送信されますか?

いいえ。復元はブラウザ標準の TextDecoder だけで行っており、入力内容がサーバーへ送信されることはありません。