>_devtools-hub

Text Encoding Checker

文字コードを判定して UTF-8 に変換 — 化けた文字列の復元も

テキストエンコード開発者向け

CSV やテキストファイルをドロップすると、UTF-8・Shift_JIS・EUC-JP のそれぞれで読んだ結果を並べ、読めないバイトの数と日本語らしさから正しい文字コードを判定します。選んだ文字コードで読んだ内容は UTF-8(BOM なし/Excel 用の BOM 付き)で保存し直せます。「縺薙s縺ォ縺。縺ッ」「ã“ã‚“ã«ã¡ã¯」のような化けた文字列を貼り付けて、元の日本語に戻すこともできます。

広告

Text Encoding Checker

CSV・テキストファイルをドロップ、またはクリックして選択

10MB まで / ファイルはブラウザ内だけで読み、どこにも送信しません

ファイルを UTF-8・Shift_JIS・EUC-JP のそれぞれで読み、どれで読むと正しい日本語になるかを並べて表示します

Features

  • UTF-8・Shift_JIS(CP932)・EUC-JP で読んだ結果を並べて比較
  • 読めないバイトの数と日本語らしさで、いちばん可能性の高い文字コードを提示
  • BOM の有無と、半角英数字だけのファイル(どれで読んでも同じ)を判定
  • 選んだ文字コードで読んだ内容を UTF-8(BOM なし/BOM 付き)で保存
  • 化けた文字列を貼り付けて復元(UTF-8→Shift_JIS、UTF-8→Windows-1252、Shift_JIS→Windows-1252 の読み違え)
  • 元のバイトが捨てられて戻せない文字は 〓 で示し、推測で埋めない

この作業の手順ガイド


文字化けの直し方 — 文字コードを判定して、正しく読み直す

文字化けの多くは、データが壊れているのではなく、書いたときと違う文字コードで読んでいるだけです。正しい文字コードで読み直せば元に戻ります。Text Encoding Checker はファイルを UTF-8・Shift_JIS・EUC-JP のそれぞれで読み、どれで読むと正しい日本語になるかを並べて見せます。

どうやって文字コードを判定しているか

ファイルの中身には、どの文字コードで書いたかは記録されていません(BOM がある場合を除く)。そのため、実際にそれぞれの文字コードで読んでみて判断します。手がかりは2つあります。1つは「読めないバイト」の数で、その文字コードの決まりに合わないバイトの並びは読めずに � になります。UTF-8 は決まりが厳しく、Shift_JIS で書いたファイルを UTF-8 として読むとほぼ必ず読めないバイトが出るため、読めないバイトが0なら UTF-8 でほぼ間違いありません。もう1つは日本語らしさで、Shift_JIS と EUC-JP のどちらでもエラーなく読めてしまう場合に、ひらがな・カタカナが多く、珍しい漢字や半角カナが少ないほうを選びます。

化けた文字列のパターンで、何が起きたかが分かる

「縺薙s縺ォ縺。縺ッ」のように「縺」「繧」が並ぶのは、UTF-8 で書いた文字を Shift_JIS として読んだときの形です。「ã“ã‚“ã«ã¡ã¯」のように「ã」「â」が並ぶのは、UTF-8 を欧文の文字コード(Windows-1252)として読んだ形、「‚±‚ñ‚É‚¿‚Í」は Shift_JIS を Windows-1252 として読んだ形です。このツールの「化けた文字列を戻す」では、この3通りの読み違えを逆にたどって元の文字を求めます。Windows-1252 の読み違えは1バイトずつ別の文字になっているだけなので、ほぼ完全に戻せます。

戻せない文字がある理由

UTF-8 を Shift_JIS として読んだ場合は、Shift_JIS の決まりに合わないバイトが � に置き換えられて捨てられます。捨てられたバイトは文字列のどこにも残っていないので、その文字だけは戻せません。しかも捨てられたバイトは何を入れても UTF-8 として読めてしまうため、推測で埋めると「月」が「最」になるように別の文字にすり替わります。このツールは推測をせず、戻せない文字を 〓 で示します。元のファイルが残っているなら、文字列を直すより、ファイルを正しい文字コードで読み直すほうが確実です。化けた状態で保存し直すと、その時点で元のバイトは失われます。

UTF-8 に変換するときの BOM の選び方

BOM は UTF-8 であることを示す3バイト(EF BB BF)で、ファイルの先頭に付けます。Excel は BOM の無い UTF-8 の CSV を Shift_JIS として開いてしまうため、Excel でダブルクリックして開く CSV には BOM を付けます。一方で、プログラムが読む設定ファイルや JSON、シェルスクリプトでは、先頭の BOM が余計な文字として扱われて読み込みエラーになることがあるので、BOM なしにします。このツールでは、選んだ文字コードで読んだ内容をどちらの形でも保存できます。

広告

Related Tools

Lockfile Diff

package-lock.json の更新前後を比較 — 版の動きをメジャー/マイナー/パッチで分類

npmバージョン管理開発者向け

使ってみる →

Line Ending Inspector

改行コードを検査 — CRLF / LF / CR の内訳と混在、BOMの有無

テキストエンコード開発者向け

使ってみる →

Base64 Studio

Base64 エンコード & デコード

開発者向けテキストエンコード

使ってみる →

BOOTH

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

このツールを共有する