.
【第16回】
チンプンカンプン文字コード
(03/02/24)
窓の杜高校、超パソコン部の部室。
あらあら、めも理ちゃん。今日は怒り心頭で部室に向かっています。
一体どうしたのでしょう?
何で間違いなの!
|
ホームルームもそろそろ終わる時間ですし、そろそろめも理ちゃんが部室に来る頃ですね。あっ、ちょうど来たようです。
|
|
むー。
|
|
どうしたんですか、めも理ちゃん。何だか機嫌が悪いですね。
|
|
聞いてよ窓太。今日の英語の授業中なんだけどね、“Bake a Cake.”という文章があったのよ。だから「バケ・ア・カケ」と読んだのよ。そしたら、先生にこっぴどく怒られちゃったの。書いている通りに読んだのに、なんで怒られなくちゃならないの。
|
|
めも理ちゃんの読み方は、ローマ字読みですね。英語の授業なんだから、英語読みしないと駄目ですよ。
それじゃあ、まるで文字化けが起こったようなものですよ。
|
|
文字化け? 何それ?
|
|
アプリケーションによる、文章の読み間違いですよ。
|
|
読み間違い? アプリケーションも私のように、英語をローマ字読みするの?
|
|
英語をローマ字読みするというわけではないんですが、まあ、非常に似ていると思います。そうですね、少し詳しく解説してみましょうか。
|
|
そうね。少し気になるわ。
|
文字コード
|
めも理と窓太の4コマまんが 「読み間違い」 |
|
では文字化けの説明をしますね。
|
|
そもそも文字化けって何なの?
|
|
文字化けは、多分めも理ちゃんも体験したことがあることですよ。
|
|
私も体験? うーん、お菓子を食べ過ぎて動けなくなるとか。
|
|
そういうことではないです。パソコンの話をしているんですから。
|
|
じゃあ、何なの?
|
|
文字化けとは、本来正しく表示されるはずの文章が、間違って表示される状態のことを言うのです。
|
|
正しく表示されない? 一体どういう状態になるの?
|
|
それじゃあ、実際にどのようになるのか、見てみましょう。
左側が正しい文章で、右側が文字化けした文章です。
|
通常の文章
|
文字化けした文章
|
めも理日記:
今日は朝ご飯を食べて、学校に行き、
お菓子を食べて、昼ご飯を食べて、
おやつを食べて、放課後は売店に行き、
帰宅前にポテチを食べた。
|
$B$a$bM}F|5-!'(B
$B:#F|$OD+$4HS$r?)$Y$F!"3X9;$K9T$-!"(B
$B$*2[;R$r?)$Y$F!"Ck$4HS$r?)$Y$F!"(B
$B$*$d$D$r?)$Y$F!"J|2]8e$OGdE9$K9T$-!"(B
$B5"BpA0$K%]%F%A$r?)$Y$?!#(B
|
読める!
|
読めない!
|
|
この文字化けした文章って、Webブラウザーやメールソフトを使っているときに時どき見る画面に似ているわ。
|
|
そうです。こういった、実際に書かれている文章と違う内容の文字がパソコンの画面に表示される現象を“文字化け”と呼ぶのです。この現象は、文章を読むときに、文字コードというものをアプリケーションが間違えるために起こります。
|
|
はっ? 文字コード?
|
|
文字コードというのは、ちょうどスパイが使う暗号表のようなものです。
パソコンで使うデータは直接人間が読める形式ではありません。そこで、このデータをパソコンの画面に表示するときには、人間が読める文字で表示してあげなくてはなりません。
文字コードは、パソコンのデータと、人間が使う文字を1対1で対応させた表です。スパイが暗号表を利用して、秘密の記号を解読して正しい文章を読むように、アプリケーションはデータを文字コードの表と対応させて、各データがどの文字かを判断して、パソコンの画面上に人間の読める文字を表示します。
この暗号対応表ともいえる文字コードが何種類もあるのです。
|
|
何種類もあるということは、アプリケーションをスパイに例えるなら、“暗号表の種類が多くて、どの表に対応させればよいか分からないような状態”だということかしら。
|
|
そうなんです。アプリケーションが文章を表示するときに使うデータと文字の対応表、つまり文字コードの表は何種類もあります。そのために、使用する文字コードの表が間違っていると、意味不明の文字が並んで、文章がおかしく表示されてしまうのです。
それでは少し、パソコンのデータと、表示される文字の対応関係を見てみましょう。
|
文字コード の種類 |
パソコンのデータ(上段) と 画面に表示される文字(下2段)の対応 |
61 | 62 | 63 |
93 | FA |
96 | 7B |
8C | EA |
64 | 65 | 66 |
シフトJIS |
a | b | c |
日 |
本 |
語 |
d | e | f |
EUC |
a | b | c | z |
嘴 |
・ |
鐡 |
e | f |
文字コードの種類によって、パソコンのデータと
表示される文字の対応が違う
|
ふーん、それぞれの文字コードによって、パソコンのデータと表示される文字の対応関係が違うのね。
|
|
めも理ちゃんが今日の英語の授業で、英語をローマ字と勘違いして読んでしまったのに近いですね。“Bake a Cake.”はローマ字読みでも英語読みでも読めるけど、めも理ちゃんはローマ字読みで読んでしまったせいで“バケ・ア・カケ”と、意味不明の文章になってしまいましたから。
|
|
そうね。今見せてくれたシフトJISという文字コードとEUCという文字コードの表で、シフトJISだと“abc日本語def”と意味の分かる内容になるのに、EUCだと“abcz嘴・鐡ef”という、さっぱり分からない文字の並びになるのと同じね。
文字コードが色々とあって、同じデータに色んな読み方があったら困るわね。
|
|
ええ、さらにそれぞれの文字コードが結構似ているから始末が悪いのです。大きく違っていれば分かりやすいのですが、けっこう似ているから、違いを簡単には判別できないのです。
例えばめも理ちゃんの英語とローマ字の勘違いの件ですが、“Bake a Cake.”を“ベイク ア ケーキ”と正しく読むためには、文章全体を見渡さないと分かりませんよね。
|
|
そうね。その文章が英語なのか、ローマ字なのかを判断するために、文章全体を見て何らかの手掛かりを探さないといけないわよね。
|
|
“Bake”は“焼く”で、“cake”は“ケーキ”だから英語だなあという、分かりやすい手掛かりがあれば判別できます。
アプリケーションも同じように、文章中に、手掛かりとなるような部分が出てこなければ、その文章がどの文字コードか分からないまま、とりあえず文章を読んでいくしかないのです。
|
|
分からない場合は、どうやって読み進めて行くの?
|
|
仕方がないから、“取りあえずこの文字コードだろう”と勝手に決めて読み進めて行くしかないのです。
|
|
それじゃあ、間違いそうね。
|
|
ええ。そのため、“取りあえずこの文字コードだろう”とアプリケーションが判断した文字コードが間違っていたら、画面上に間違った読み方で表示されてしまうことになるのです。つまり、文字がおかしな状態で表示されてしまう現象、文字化けが発生してしまうのです。
ちょうど、めも理ちゃんが英語をローマ字だと思って、間違った読み方をしてしまったように、アプリケーションも文章を間違った文字コードだと判断して、おかしな状態で画面に表示してしまうのです。
|
|
Webブラウザーで時どき見るあの変な画面は、Webブラウザーが文字コードを間違って文章を表示している状態だったのね。あの画面が出るたびに、そのWebページを見るのを諦めていたのよ。
何かあの文字化けを解消する方法はないの、窓太?
|
|
そうですね。ついでに紹介しておきましょう。アプリケーションが間違った種類の文字コードで文章を読んでいるのなら、正しい文字コードで文章を読むように設定してあげればよいのです。方法をちょっとまとめておきますね。
|
文字コードの修正
一般的に、Webブラウザーやメーラー、テキストエディターなどでは[文字コード]や[エンコード]という設定項目が用意されていることが多い。この設定で、正しい文字コードを指定すれば、文字化けは解消されて、正しく画面上に文字が表示されるようになる。
例えば「Internet Explorer」では、画面上で右クリックをして、[エンコード]を選ぶと、いくつかの代表的な文字コードの種類が表示される。このリストの中から、順に文字コードを選択していき、正しい文字コードを選択できればきちんとした文字が表示されるようになる。
「Internet Explorer」での例
|
|
今度文字化けが起こったら、この方法を試してみるわね。
|
国語の授業
|
ふう、国語の授業が始まって5分も経ったわ、だんだん睡魔が襲ってきて、私を無我の境地に誘っていくわ。ああ、景色が霞んでいく。コクリ、コクリ。
|
|
めも理君。この漢字を読んでみなさい。
|
|
はっ! えー、えー。まあ、日本語だから、英語と違って読み間違いなんてないから楽勝よね。
先生、どの漢字ですか?
|
|
この漢字だ。
|
|
“蒙昧”? 一体なんて読むのかしら。
えー、先生。分かりません。どうやら、文字化けしているようで読めません。
|
|
こらっ。これは、“もうまい”と読むんだ、意味は“知識がなく、物事の道理が分からないこと”だ。ちょうど、めも理君。君のようにね。
うたた寝していて、授業を聞いてなかっただろう。罰として、この漢字を1,000回書いてくること!
|
|
むぎゅ~! 1,000回も書いたら、お菓子を食べる暇がない~!
|
今回出てきた用語の解説
【文字コード】 文字の読み方。パソコンで使用されるデータは、人間が直接読める状態にはなっていない。このパソコンで使用されるデータを、人間が読める状態にするためのルールが文字コードである。
パソコン内部で行われていることは意外に単純だ。パソコンが読むデータと人間が読む文字の1対1の表を参照して、その表に応じて文字をパソコンの画面に表示させている。文字コードの“コード”というのは“暗号”という意味ももっている。スパイなどが使う、記号と文字を対応させた暗号表を想像すれば分かりやすいだろう。
日本語には、シフト JIS、JIS、EUCなどと呼ばれる、何種類かの文字コードがある。これらの文字コードによって、文字の読み方が異なっている。
【文字化け】 Webブラウザーやテキストエディターなどで、文字が正しくない状態で表示されること。
(クロノス・クラウン:柳井 政和)