コンピュータにおける日本語化は実にやっかいな問題なのです。
いろいろな工夫が施されて現在に至っていますが、その結果とし
て現在でも文字化けを完全には防ぐことができないでいます。
このあたりのことを勉強しようとして、文字コードやフォント
に関する書籍を読んでみると、これが実に難解で、何度読んでも
わからないのです。
現在、コンピュータで日本語を表示させるための文字コードと
して普及しているものには、次の3種類があるのです。これを名
前だけでもまず頭に入れておいてください。
―――――――――――――――――――――――――――――
1.JISコード
2.シフトJISコード
3.EUC
―――――――――――――――――――――――――――――
コンピュータを最初に開発し、ASCIIを定めた米国――そ
のため、インターネット・メールでは、7ビットのASCII文
字だけが文字化けしないできちんと送受信できる保証が与えられ
ているのが現状です。
村井氏は、この事実を踏まえてJUNETコードを7ビットに
変換して送る方法を検討したのです。メールの中のASCII文
字はそのままにし、日本語――漢字とひらがなについてはすべて
7ビットのASCII文字に変換して送信する方法です。この変
換のことを専門的に「符号化(エンコード)」というのです。
この村井氏の考案した方法は、次のように正式にRFC化され
ています。
―――――――――――――――――――――――――――――
ISO−2022−JP符号化方法
RFC−1468/1993年
―――――――――――――――――――――――――――――
実は、このISO−2022−JPによって7ビット化された
文字コードが上記1の「JISコード」なのです。現在、インタ
ーネット・メールのほとんどが、このJISコードなのです。
それを確認するために実験をしてみましょう。本文を次のよう
に書き、タイトルを「テスト」として、自分宛にメールを送って
いただきたいのです。
―――――――――――――――――――――――――――――
タイトル:テスト
本 文:ASCII漢字
―――――――――――――――――――――――――――――
メールが着信した状態でそれをクリックして選択します。メー
ルを開かない状態でです。その上にマウスのポインタを置いて右
クリック。そうするとプルダウンメニューが出てきますので、一
番下にある「プロパティ(R)」をクリックします。
そうすると「テスト」のウインドウが表示されます。ウインド
ウの「詳細」のタグをクリックし、「メッセージのソース(M)」
をさらにクリックし、画面を拡大してください。下の方に次のよ
うなメッセージが出てくるはずです。
―――――――――――――――――――――――――――――
Content-Type: text/plain;
format=flowed;
charset="iso-2022-jp";
reply-type=original
⇒ Content-Transfer-Encoding: 7bit
―――――――――――――――――――――――――――――
この中に「7ビットで内容をエンコードしている」というメッ
セージがあるのを確認できると思います。ISO−2022−J
Pという文字も見えると思います。
着信した他のメールでも同じ操作をやってください。7ビット
でエンコードのメッセージがないものもありますが、これはあま
りにも当然なこととして省略されているのです。
さらにひとつ付け加えると、「テスト」文書の表示されたメッ
セージの一番下に、次のようなわけのわからない文字列が出てい
るはずです。
―――――――――――――――――――――――――――――
$B!! (BASCII $B4A;z (B
―――――――――――――――――――――――――――――
これは「ASCII漢字」がエンコードされた状態なのです。この
ようなかたちで送信され、着信時にデコードされ、メールの本文
に「ASCII漢字」として表示されるのです。
しかし、JISコードの仕組みを簡単にいうと、漢字のコード
はASCIIとは別の場所に置いてあって、漢字が必要になると
きは、「エスケープ・シーケンス」という制御文字で切り替える
という方法をとっているのです。
メールは上から順番に読んで行くものであり、エスケープ・シ
ーケンスで切り替える方法でもかまわないのですが、OSの内部
処理ということになると、メールのように順番に読むとは限らず
ランダムにデータをアクセスすることが多いのです。
その場合、そのコードの並びが、1バイト文字なのか2バイト
文字なのかOSにはわからないので、直前のエスケープ・シーケ
ンスまで戻って確認するという面倒なことをしなければならない
のです。
そこで、ちょうどMS−DOSの日本語化作業を行っていたア
スキー・マイクロソフト社では、MS−DOSの内部処理用コー
ドとして、ひらがなや漢字などの2バイト文字を1バイト文字と
重複しないコード領域にシフトさせた方法を採用したのです。こ
れが「シフトJIS」といわれるものなのです。
「シフトJIS」は、現在のOSであるウインドウズでも使わ
れており、文書作成はシフトJIS、メールはJISコードが共
存しているのです。
―― [インターネットの歴史 Part2/19]
≪画像および関連情報≫
・ISO−2022−JPについて
―――――――――――――――――――――――――――
ISO−2022−JPは7ビットで表現されており、AS
CII文字と漢字など、文字の切り換えには、エスケープ・
シーケンスを用いている。2000年版では漢字が2ヶ所に
分かれており、これもエスケープ・シーケンスで区別する。
ISO−2022−JPは7ビットで表現されているため、
欧米などで開発された8ビット目を無視する電子メールシス
テムでも問題なく使用することができる。このため、電子メ
ールでの日本語送受信はISO−2022−JPによって行
なうことが事実上の標準となっている。
――IT用語辞典
http://e-words.jp/w/ISO-2022-JP.html
―――――――――――――――――――――――――――