コンピュータによる中国語処理

コンピュータによる中国語処理INDEX


中国語の電子メールのむずかしさ

OS が中国語に対応していてもダメ

Macintosh の場合,基本システムに Chinese Language Kit を加えるだけで,さまざまなアプリケーション上で中国語の使用が可能になります。そこで,すでに電子メールの便利さを知ってしまった人は,中国の友人に中国語で電子メールを出したい,と考えるでしょう。けれども,ここには大きな障害物が横たわっています。

電子メールはアルファベットしか送れない

技術的な問題に深入りすると退屈しますので,ごく手短に説明しまが,最大の問題は,インターネットのメールがアルファベットしか流さないということです。インターネット上でやり取りできるのは7bit(2の7乗:128文字)の ASCII 文字セットだけなのです。A から Z までの大文字と小文字,0 から 9 までの数字,それに ? や % などの記号しか,インターネットメールは受け付けてくれないのです。
これは「インターネットの技術仕様」として,そうなっているということです。素直な技術者は,このインターネット標準仕様に即してメール関連のプログラムを書くわけです。
わたしたちがふだん使っているメールソフトは,日本語(や中国語)で書かれた本文を,いったん128種類の ASCII 文字(7bit)に変換し,その ASCII 文字だけのデータを送信しているのです。そして,この ASCII 文字に変身したメールは,受信した側でふたたび日本語のコード体系(2バイト)に復元されているのです。

データの一部が削除される

ここで問題が生じます。
日本語や中国語は,よく「2バイトの言語」と言われます。1バイトは 8bit(2の8乗:256)です。「2バイトの言語」はこれを2つセットにして1文字を表すのです。かりに日本語や中国語が,1バイトのうちの 7bit だけを使う(7bit+7bitで2バイトとする)のであれば,問題は少ないかもしれません。「2バイトの言語」の1文字を 7bit ずつに分けて送受信できるからです。ところが,日本語や中国語は1バイトの中の 8bit 目まで使うことがある(8bit+8bit)のです。
7bit しか通さないように作られた標準仕様のメールサーバーが,8bit を使った日本語や中国語のメールを受け取った場合は,8bit 目を削除して 7bit だけを次のサーバに送ります。こうしてデータの一部を失ったメールは,受信者側では,いわゆる「文字化けメール」となってしまいます。

中国語をアルファベットにして送ればいい

日本語専用のメールソフト(Eudora-J など)は,自動的には中国語を ASCII 文字に変換してくれません。そもそも中国語(GB コードや BIG-5 コード)の入力自体ができないかもしれません。確実に中国語を送るには,エディタやワープロで作成した中国語のテキストを自力で ASCII 文字に変換する方法をお勧めします。
7bit の ASCII 文字だけで書かれたファイルなら,メール配送の途中でデータが壊れることはありません。受け取った人はその ASCII 文字列を中国語のコードに復元すればいいのです。

中国語のテキストをインターネット上でやり取りするようす。

中国語がそのままやりとりできる幸運なケース

「7bit しか送れないのがインターネットの標準仕様であり,中国語や日本語は8bitを使っていることがあるのでそのままでは送受信ができない」というのが,ここまで説明してきたことの要約です。
しかし時々「○○というワープロで書いて◇◇というメールソフトで送ったらうまくいった」などという話を聞きます。しかしこれは非常に幸運な特殊ケースで,同じやりかたが常に通用することはないと考えてください。
出したメールは,いくつかのサーバを経由して相手に届きますが,文字化けを起こさなかったのは,運良く途中のサーバがすべて 8bit を通してくれたからなのです。
たしかに最近のメールサーバには 8bit を通すものが増えてきました。しかし,くどいようですが,8bit 対応は標準仕様ではありません。世界中には 8bit 目を自動的に削除する標準仕様のサーバのほうが多いかもしれません。
転送の途中でデータが壊れるわけですから,差出人や受取人がいくら「中国語対応」や「マルチリンガル」をうたった高機能メールソフトや多言語対応 OS を使っても,どうにもなりません。

企業内の LAN など,ネットワークのタイプによっては,ネットワーク内にコードを変換するサーバーがあって,そのサーバーがコード変換作業をすべて請け負っているようなケースもあります。このような場合は,中国語などのメールを処理することが,さらにめんどうになるかもしれません。そのサーバーが「2バイトの文字はすべて日本語である」ことを前提に動いているかもしれないからです。その場合,かりに「正しい中国語のメール」が来ても,それを日本語と見なして,おかしな変換が加えられる可能性があります。

確実にメールをやりとりしたいのなら,綱渡りはやめて,以下の方法をマスターしましょう。

(とはいえ実際のところ,たとえば Mac OSX のオマケのメールソフト Apple Mail などの最新のものによる実験では,まず文字化けは起きませんし,日本語,中国語の混在なども問題ないようです。)


中国語電子メール処理の具体的な手順

以下で,具体的な方法を説明します。次のような,いちばん過酷な状況を前提にしています。

以下の手順でメールの作成,コード変換,送信をおこなってください。

  1. エディタやワープロで中国語の手紙を書く。文字コードは,相手の状況を考慮して GB コードまたは Big5 コードから選択する。また,けっして同じ文書内に異なるコードを混在させないこと。(日本語と中国語はもちろん,Big5 と GB も混ぜてはいけません。)

  2. 作成した中国語のテキストファイルを ASCII 文字に変換する。コード変換の形式は汎用性の高い「.uu」形式にする。この形式はもともと UNIX で使われていて,インターネットでは標準となっている。
    「.uu」に変換するためのツールには次のものを使う。(これらのプログラムは,インターネット関連の雑誌の付録として入手できます。)

    上記のうち,MacIsh の場合は,「File」メニューから「Setting」を選択し,次のように設定します。
    UuencodeのためのMacIshの設定のようす。

  3. 変換プログラムによって ASCII文字に変換されたファイルの全文をそのままメールソフトの「本文」としてペーストする。このファイルは,こんな具合になっています。

    
         <<< sample : UUENCODE encoded by MacIsh 0.72 >>>
         begin 664 sample
         4Q7>J[Z2DM=BEP;#JI&lt;&E1+_OP7P`
         `
         end

    わけのわからない暗号のようになっていますが,受信した相手が驚かないように冒頭に「UUENCODE 形式で変換してある」という主旨のコメントが自動的に付きます。
    (この ASCII 文字に変換されたファイルをメールの添付書類として送ることもできます。ただし,コンピュータ・ウィルスに対する警戒心が強い相手の場合,添付書類を開くことを嫌がるかもしれません。)

  4. この ASCII 文字化したメールを送信する。
    無用のトラブルを防ぐため,メールには,この ASCII 文字化したテキスト以外の文字を入れないようにします。どうしても何か書き添えたい場合は,ASCII 文字だけで書ける言語(英語またはローマ字表記の日本語)を使うようにします。

  5. 受信者は,ASCII 文字の本文をもとのコードに復元する。

    復元するためのツールには次のものを使います。

  6. 復元されたテキストを,エディタやワープロで開いて読む。

ちょっと面倒ですが,このようにすれば確実に中国語のメールを世界中でやり取りできます。

(補遺)HZ エンコードのメール

なお,GB コードの中国語には HZ というエンコード方式があります。これもやはり 7bit ASCII 文字にエンコードする方式で,uuencode 方式と同様に,インターネット上で安全にやり取りできます。
北米地域では比較的普及しているため,ひょっとしたら HZ コードのメールを受信することがあるかもしれません。
HZ エンコードの復元 を参照してください。

1996.5.30 (2004.2.23 改訂)


コンピュータによる中国語処理INDEX


中国思想史研究室