文字化けとは、コンピュータにおいて文字を表示する際に、元の文字とは異なる文字で表示される現象のことを指します。
文字化けの主な原因として、以下が挙げられます。
ここからは「文字コード違い」によって発生する文字化けの仕組みについてざっくりと説明していきます。
コンピュータの世界では文字はコード値で表現されます。 例えばひらがなの「あ」は、UTF-8で「E3 81 82」、Shift_JISで「82 A0」、EUC-JPで「A4 A2」と、 文字コードによって異なるコード値になっています。
文字 | あ |
---|---|
UTF-8 | E3 81 82 |
Shift_JIS | 82 A0 |
EUC-JP | A4 A2 |
「あ」と1文字だけ記述したテキストファイルをEUC-JPで保存し、Shift_JISとして解釈して開いた場合を考えます。 「あ」をEUC-JPで符号化すると「A4 A2」というコード値になります。このコード値はShift_JISでは、 「A4」は「、」(半角の読点)、 「A2」は「「」(半角のかぎかっこ開始)に割り当てられています。 そのため、もともとEUC-JPで「あ」だった内容が、Shift_JISでは「、「」と表示されます。
| ⇒ |
|
このように符号化時と解釈時で文字コードが異なっている場合に、別の文字として解釈されることにより文字化けが発生します。 このような文字化けは、使用者の指定ミスもしくはアプリケーションの自動判別の失敗によって発生します。
ただし、すべてのコード値が他の文字コードで何かしらの文字に割り当てられているわけではありません。割り当てがない場合もあります。そのような場合の挙動はアプリケーションによって異なるのですが、「?」や「□」などに変換され表示されることが多いです。
これが「文字コード違い」によって発生する文字化けの仕組みです。
このページに関するちょっとした感想または、要望、バグ・間違いの指摘などは、下記の送信欄からお送りください。 質問・その他お問合せなど、返信をご希望の方は「こちらのページ」からメッセージをお送りください。
「このページはお役に立ちましたか?」のアンケートと自由メッセージのどちらか一方でかまいません (両方だとよりうれしいです)。お気軽にご利用ください (感想・どんな用途で使用したかなどをいただけると作成・運営の励みになります!)。