Shift_JIS で保存された CSV を診断する
「あいう,1」を Shift_JIS で保存した 8 バイトの CSV です。UTF-8 として読むと不正なバイト列になり、Shift_JIS の形としては成り立つ代表例です。
入力
CSV ファイルを選ぶ(端末の中でバイト列を読み込みます)
ファイル sjis.csv(8 バイト)
または、文字化けして見えるテキストを貼り付ける
(空)
結果
エラー 0 件・警告 1 件・情報 1 件
指摘(エラー・警告・情報)
- 警告 1 バイト目(1 行目) UTF-8 として正しく読めないバイト列が 6 か所あります(1 バイト目(1 行目)・2 バイト目(1 行目)・3 バイト目(1 行目)・4 バイト目(1 行目)・5 バイト目(1 行目) ほか 1 件)。UTF-8 として読むと、その部分は U+FFFD(�)に置き換わり、元の文字は失われます。UTF-8 以外の文字コードで保存されたファイルの可能性があります。
- 情報 全体 すべてのバイト列が Shift_JIS(CP932)の形として成り立ちます。Shift_JIS の可能性がありますが、形が合うだけで断定はできません。表計算ソフトで UTF-8 として保存し直すか、Shift_JIS として開いてください。
| 診断した対象 | ファイルのバイト列 |
|---|---|
| 不正なバイト列 | 6 か所 |
| 書き込み済みの U+FFFD | 0 個 |
診断結果
| 確認項目 | 結果 |
|---|---|
| ファイル | sjis.csv(8 バイト) |
| 先頭の BOM | なし |
| UTF-8 として読めない部分 | 6 か所 |
| ASCII 以外のバイト | 6 個 |
| Shift_JIS として | 読める並びです(2 バイト文字 3 個) |
| 判定 | UTF-8 ではなく、Shift_JIS(CP932)の可能性があります |
検算(この結果になる理由)
Shift_JIS では あ = 82 A0、い = 82 A2、う = 82 A4 です。UTF-8 の規則では 82・A0 などは先頭バイトにならず、6 バイトがそれぞれ不正になり 6 か所と数えます。2 バイト文字 3 個の形は成り立つので、Shift_JIS の可能性が示されます。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 文字コードを断定はしません。UTF-8 として読める並びでも、他の文字コードでないとまでは言えず、Shift_JIS として形が合っても本当に Shift_JIS とは限りません。
- Shift_JIS や他の文字コードへの復号・変換はしません。診断だけで、元のファイルは変更しません。表計算ソフトで開き直して UTF-8 で保存し直してください。
- 貼り付けたテキストの診断は経験則です。画面に表示された時点で別の文字に置き換わった化けは、元のバイトを復元できないため見つけられないことがあります。
- ファイルの中身(列の数・空欄など)は検査しません。それらを調べるときは、CSV の列の揃いを検査する別の道具を使います。
ご利用にあたって
- 判定は「可能性」です。重要なデータは、元のファイルを作ったソフトの文字コードの設定も確認してください。
- 大きなファイルはお使いの端末の性能によって処理に時間がかかることがあります。