文字コードとは?
文字コードとは、文字をコンピューターで扱うために、1 文字ずつに番号を割り当て、それをバイト列で表す決まりです。同じ「あ」でも、UTF-8 では E3 81 82 の 3 バイト、Shift_JIS では 82 A0 の 2 バイトと、文字コードによってバイト列が違います。保存したときと違う文字コードで読み込むと別の文字として表示されてしまい、これが文字化けの原因になります。
使い方
- 文字 → 文字コード:調べたい文字を入力すると、UTF-8・Shift_JIS・EUC-JP・ISO-2022-JP(JIS)・UTF-16BE・UTF-16LE のバイト列をまとめて表示します。「表示形式」では、スペース区切り・区切りなし・URL エンコード(%XX)・
\x形式を選べます。その下には Unicode のコードポイント・\uエスケープ・HTML 数値文字参照と、1 文字ずつの文字コード表(JIS コード・区点コード付き)を表示します。 - 文字コード → 文字:
E3 81 82のようなバイト列や%E3%81%82、\u3042、あ、U+3042を貼り付けると、形式を自動で判定して文字に戻します。バイト列の場合は 6 種類の文字コードでそれぞれ読み、いちばん自然に読める結果を上に表示します。
Windows のファイルと同じバイト列にしたいときは、「改行コード」を CRLF にしてください(改行が 0D 0A の 2 バイトになります)。
「文字化け」の文字コード一覧
「文字化け」の 4 文字を、主な文字コードで表すと次のようになります。
| 文字コード | バイト列(16進数) | バイト数 |
|---|---|---|
| UTF-8 | E6 96 87 E5 AD 97 E5 8C 96 E3 81 91 | 12 |
| Shift_JIS | 95 B6 8E 9A 89 BB 82 AF | 8 |
| EUC-JP | CA B8 BB FA B2 BD A4 B1 | 8 |
| ISO-2022-JP(JIS) | 1B 24 42 4A 38 3B 7A 32 3D 24 31 1B 28 42 | 14 |
| UTF-16BE | 65 87 5B 57 53 16 30 51 | 8 |
ISO-2022-JP の先頭の 1B 24 42 と末尾の 1B 28 42 は、2 バイト文字(JIS X 0208)への切り替えと ASCII への戻しを表すエスケープシーケンスで、文字そのものではありません。間の 4A 38 が「文」の JIS X 0208 のコードで、区点コードでは 42-24(42 区 24 点)です。
URL では、同じ「文字化け」が UTF-8 なら %E6%96%87%E5%AD%97%E5%8C%96%E3%81%91、Shift_JIS なら %95%B6%8E%9A%89%BB%82%AF になります。いまの Web はほぼ UTF-8 ですが、古いサイトの検索 URL などには Shift_JIS で URL エンコードしたものが残っていることがあります。
主な文字コードの違い
| 文字コード | 日本語 1 文字のバイト数 | 主に使われる場所 |
|---|---|---|
| UTF-8 | 3(絵文字は 4) | Web ページ、Mac・Linux、最近のアプリ全般 |
| Shift_JIS | 2(半角カナは 1) | 日本語版 Windows の古いアプリ、Excel の CSV |
| EUC-JP | 2(半角カナも 2) | 古い Unix・Linux のシステムや Web サイト |
| ISO-2022-JP(JIS) | 2(前後に切り替え用の 3 バイト) | 古い日本語メール |
| UTF-16 | 2(絵文字は 4) | Windows・Java・JavaScript の内部、一部のファイル |
Shift_JIS・EUC-JP・ISO-2022-JP は日本語用の文字コードで、使える文字が決まっています。絵文字や「𠮷」のような一部の漢字、ハングルなどは表せず、このツールでは「?」(3F)に置き換えて表示します。UTF-8 と UTF-16 は Unicode の文字をすべて表せます。
変換するときの注意点
「〜」と「~」が同じバイト列になる
波ダッシュ「〜」(U+301C)と全角チルダ「~」(U+FF5E)は Unicode では別の文字です。Shift_JIS の 81 60 は、JIS の対応表では「〜」、Windows(CP932)の対応表では「~」に対応します。そのため、Mac で入力した「〜」が Windows では「~」として表示されたり、変換の仕方によっては「?」になったりします。このツールでは「〜」も 81 60 として変換し、そのことを結果の下に示します。「−」(マイナス)と「-」(全角ハイフンマイナス)、「‖」と「∥」なども同じ関係です。
機種依存文字は環境によって化ける
①、㈱、Ⅲ、髙(はしごだか)などは、NEC や IBM が Shift_JIS に独自に追加した文字で、「機種依存文字」と呼ばれます。Windows では問題なく使えますが、古いシステムや一部のプリンター、メールでは別の文字になったり表示できなかったりします。1 文字ずつの文字コード表では、これらに「機種依存」と表示します。
Shift_JIS の「¥」と「\」
日本の文字コードのもとになった JIS X 0201 では、5C を円記号「¥」と定めています。そのため日本語のフォントの多くは、バックスラッシュ「\」(5C)を「¥」の形で表示します。日本語版 Windows で「\」が「¥」に見えるのはこのためです。このツールでは、半角の「¥」(U+00A5)を Shift_JIS・EUC-JP では 5C として変換します。バックスラッシュ「\」を入力した場合も同じ 5C になります。全角の「¥」は Shift_JIS では 81 8F です。
文字化けを直したいときは
文字化けした文字列を元に戻したい場合は、トップページの文字化け変換・復元ツールに貼り付けてください。どの文字コードの組み合わせで化けたかを自動で推定して、元の日本語に戻します。Excel で開いた CSV やメール、Web ページなど場面ごとの直し方は、文字化けの直し方にまとめています。CSV が化ける原因と対処はCSV の文字化けで詳しく説明しています。CSV ファイルを Excel で化けずに開ける形に変換したいときは、CSV 文字コード変換ツールを使ってください。
入力した文字の扱いについて
変換はすべてお使いのブラウザ内で行います。入力した文字やバイト列はサーバーに送信も保存もされないので、社外秘の文書や個人情報を含むデータでも安心して使えます。
最終更新: