文字の集まりを考えます。例えば、アルファベット26文字(大文字と小文字)は、ABC abc などです。五十音カタカナならば、アイウエオ などです。諸橋「大漢和辞典」という文字集合も可能です。
ある文字集合に番号を付けたものが、文字コードの規格です。
日本では、欧米と比べて、文字コード規格が大変複雑になっています。アメリカでは、基本的に、US-ASCIIですみますが、日本のパソコン(以下PCと略記)では多くの文字コードが使われています。
まず、JIS 第一水準、第二水準(以上ISO-2022-JP)、第三水準、第四水準、補助漢字の規格があります。
次にこのJIS文字コードを、パソコン上で使うために1ビット付け加えたシフトJIS(8ビット文字コード, 文字集合としてはJIS第一・二水準)があり、さらにユニコード(Unicode、UTF8, UTF7)があり、そしてユニックスの日本語アプリケーションで使われるEUC-JP規格(文字集合としてはJIS第一・二水準)があります。これでは混乱しないのが不思議なくらいです。
文字コードをつけただけではパソコンの画面に表示できません。画面表示のための文字画像をフォントと言っています。
フォントは、その構造によって、1)スケーラブル・フォント(線の集合で構成され、ベクター・フォントともよばれる、例、ウインドウズのMS-P明朝などのTrue Type Font、マッキントッシュなどのPost-scriptなど)、2)ドット・マトリクス・フォント(点の集合で構成されている)の2種類があります。ただし、どちらのフォントも、画面に表示されているときは、ディスプレイ画面の点の集合(ビット・マップ)です。
例えば、高橋氏の「たか」という文字の場合、ウインドウズ上で、はしごだかの
を表示しようとしても出ません。吉本氏の「よし」でも土と口の
は出ません。
これは、「たか」という字は「高」という字形、「よし」という字は「吉」という字形の規格になっているので、フォントがJIS第1・2水準(シフトJISも同じ)にはないのです。
別の例をあげると、IPAの発音記号は、Unicodeでもいくつかの記号にコードがつけられているので、英・欧文字と合わせれば一通り使えるはずです。しかし実際は、発音記号が全角フォントになっていること、しかも日本の英語辞書の通例の発音記号とは形状が異なることによって、ユーザーの希望するような形状の発音記号フォントはない・使えないということになってしまいます。
ある文字をPCで使うためには、1)その文字にコードがついているか、2)そのコードの文字は、ユーザーが希望するような形状のフォントで表示されるか、という2つの基本的な問題があります。
フォント・ファイルの中にはなくて、ユーザーが希望する形状の文字をPC画面に表示するには、外字としてフォントを作成して使うという方法があります。しかし外字を使う方法には、他のPCでは表示されない(外字フォント・ファイルを渡せば可能)、True Tipe Fontを作成しないと、普通のドット・マトリクスでは拡大してもきれいな形にならない、などの欠点があります。
あらためて、日本でどのような文字コードが使われているか、表にしてみます(実際にはさまざまな場合があり、これは主なケースです)。
|
Windows (OS自体) Unicode (UTF-8) Windows上の日本語アプリケーション Shift_JIS (MS-DOSの遺産) Macintosh (OS新版) Unicode (big endian) マッキントッシュ上の日本語アプリケーション Shift_JIS UNIX・Linux (OS自体) Unicode UNIX・Linux上の日本語アプリケーション EUC-JP 超漢字(B-TRON) TRONコード(JIS1・2・3・4水準+α) ディジタル通信 (日本の場合) JIS(1・2水準) = ISO-2022-JP |
データあるいは文字をやりとりする場合、文字コードの問題は重要です。
通信の基本的な約束事は、送信する側と受信する側が、同じ通信のプロトコル(約束)であることです。違う約束事では送られてきた情報を正しく復元・受信することができません。
インターネットEメールを含めて、日本のディジタル通信では、通常、JISコードで通信することになっています。
ウインドウズの表示はShift_JISですから、ウインドウズのメール・アプリケーションは、本文をShift_JISで作成し、これをJISに変換して(送信文字のエンコード)送信します。
受信した側はJISをShift_JISに変更・復元(ディコード)して画面表示します。(添付ファイルの場合は違います。)
南北アメリカ大陸・西ヨーロッパ諸国との通信では、ISO-8859-1(欧米文字、これはUS-ASCIIを含む)を使えば、通信できます。
送信方法は、メール新規作成画面で、文字コードを欧州文字にして、日本語かな漢字変換を切り、キーボードから直接入力にしてメール文を書き、送信します。(設定方法は別に示します。)
受信の場合は、メールを選択し、文字コードを欧米文字に変更して読みます。
通信は、相手と自分が同じ約束で交信するということで可能になります。したがって、外国の送信者が使うOperating System、文字コード、フォントが受信者(自分)と同じならば、受信できます(日本から送信する逆の場合も同じ)。
さきほどの欧州文字コードとフォントは世界中のPCに(おそらく)装備されているので、ほとんどの場合、通信・受信できるのです。しかし、外国といっても多くの国があり、少なくとも文字コード、フォントを、送受信者間で一致させなければならないので大変です。実際、各国のPCアプリケーション(ワープロやメーラー)は、自国の文字コードでデータを作成・表示し、送信しているので、そのままでは受信しても、文字化けしてしまい、読めません。だから、あらかじめ送信者の文字コードとフォントを読めるように、受信者側がメール・アプリケーションで設定しておけば(つまり国際化)、読めるはずです。
ユニコードはこのような場合に便利なはずです。送信者が、メール作成画面で、Unicode(UTF8またはUTF7)を設定して文を書き、送信コードをユニコードに設定して送信し、受信者がメールを読む画面で、ユニコードに設定すれば読めるはずです。(ただし、ユニコードでも、すべての文字コードにフォントが装備されているわけではないようです。また、申しわけありませんが、このような国際通信を実際に行った経験がないので、確実ではありません。)
添付ファイルという仕組みは、もともとバイナリー・データ(2進数のプログラムなど)を送受信するためのものでした。ですから暗黙のうちに、PCの種類(ハードウェア)とOSが、送受信者間で同一または互換であるということになっています。
添付ファイルは、表計算や画像の通信に使われることが多いものです。表計算の場合には、OSだけでなく、アプリケーション・ソフトが送受信者間で同一(例えば、EXCELならばヴァージョンまで同一)でないとうまく受信できません。もちろん、受信者がインストールしていないアプリケーションで作成されたデータ・ファイルを送られても、受信者は表示できません。
添付ファイルは、送信されるとき、自動的に変換(エンコード)され、受信されて自動的に復元(ディコード)されますが、この方式がOSによって違います。Windowsでは、MIME方式(規格はBASE64)が普通です。しかしマッキントッシュではBin-Hexというエンコード方式がよく使われ、またuuencodeという方式もLinuxなどでは使われます。(ウインドウズとマッキントッシュはハードウエアからして違うので、添付ファイルを異なるOS間で送受信することは、もともとあまり必要とは考えられていなかったようです。)
要するに、添付ファイル送信の方法は、送信者と受信者とがあらかじめ打ち合せてある場合以外には、使わない方が無難です。
通常の文章は、なるべくメール本文として送信するほうがよいでしょう。このことには副次的に、次の理由もあります。
第1に、添付ファイルのデータ量は1MB以下に制限されている場合が多く(各メールサーバーの設定によるが)、例えば、画像のBMP(非圧縮)ファイルで、画面サイズが500x700pix程度になると1MBを超えてしまいます(JPGやPNGなどのファイル形式でデータ量を圧縮する必要があります)。
画像を含むワープロ文書などは100KB以下の大きさに分割して、添付したほうが安全でしょう。
Videoのような巨大なファイルは別の記録メディアに入れて、別送するのが常識です。
第2には、最近のウィルスは、MS-WORDやMS-EXCELなどの添付ファイルのなかに仕込まれていることが多く、添付ファイルが疑いの目で見られることが多いためです。
HTML形式のメールや「ポスト・ペット」などのHTML形式のメールは、文字に飾りをつけたりできます。しかし最近は、HTML形式のメールにウィルスやシステム破壊プログラムを仕込む事件が増えており、なるべく「テキスト形式」のメールを使う方が受信者にとって安心です。
Outlook Express やNetscape Messengerは、初期設定がHTML形式になっているので、最初に使うときに設定変更した方がよいでしょう。
また、「ポスト・ペット」などのメールには、特別な情報が含まれており、これを普通のメール・アプリケーションで受信すると、なにかわからない怪しい文字・記号がメールにくっついていて、不安になります。知らない人には「ポスト・ペット」メールを送らないでください。
Eメールには、ヘッダーという、そのメールについての情報が記載されている部分がついています。通常は本文だけが表示されていますが、ヘッダーも次の操作で表示できます。
Netscape Messenger では、メニューの「表示(V)」→「ヘッダー(D)」で表示できます。
Outlook Express では、「ファイル(F)」→「プロパティ(R)」→「詳細」で表示できます。
下の表は。ヘッダーの一例です。(ただし、実際の表示と少し違うところがあります。)
ヘッダーを見ると、例えば本文の文字コード(charset=iso-2022-jp、7bit、すなわちJIS)、メール・アプリケーション名(Mozilla 4.75 [ja]、これは Netscape Messenger)、添付ファイルのエンコード方式(MIME)などがわかります。ですから、このヘッダー情報を利用して、メールを正しく表示して読むことができる場合があります。
|
Received: from soc.shukutoku.ac.jp ([210.137.160.159]) by soc.shukutoku.ac.jp (8.9.3+3.2W/3.7Wpl2/000313) with ESMTP id RAA05793 for<aso@soc.shukutoku.ac.jp>; Thu, 8 Mar 2001 17:00:29 +0900 (JST) Message-ID: <3AA73C55.C253E392@soc.shukutoku.ac.jp> Date: Thu, 08 Mar 2001 17:01:25 +0900 From: Fujiko FUJIYAMA <fujiyama@soc.shukutoku.ac.jp> X-Mailer: Mozilla 4.75 [ja] (Win98; U) X-Accept-Language: ja MIME-Version: 1.0 To: aso@soc.shukutoku.ac.jp Subject: 文字コードとEメール Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=iso-2022-jp Content-Length: 6768 Status: X-Mozilla-Status: 8001 X-Mozilla-Status2: 00000000 X-UIDL: 357f72190000015d |
文章だけではわかりにくいので、画像をつけて、メール・アプリケーションの設定の仕方などの実例を表示します。
1) Netscape Messenger(ver. 4.75日本語版) やその他のいくつかのEメール・アプリケーションでは、送信文字コードは 初期設定でJIS (ISO-2022-JP)になっています。したがって、設定変更の必要はありません。。
Outlook Expressでは、次のようになります。
「ツール(T)」→「オプション」→「エンコード」の順で開くと次のような画面になります。ここで「標準のエンコード」が「日本語(JIS)」になっていればよいのです。
図1 Outlook Express の送信文字コード設定画面
Netscape Messenger(ver. 4.75日本語版)では、「表示(V)」→「文字コードセット(C)」の順で開いてゆき、通常は「日本語(自動選択)」にチェックが入っているはずですが、必要に応じて、他の文字コードで表示して読むようにします。
図2 Netscape Messenger の受信文字コード設定画面
Outlook Express では、「表示(V)」→「エンコード」の順に開いて、メールの文字が正しく表示されるように、適当な文字コードを選択します。
図3 Outlook Express の受信文字コード設定画面
Netscape Messenger の場合、メッセージの作成画面で、「表示(V)」→「文字コードセット(C)」の順で開いてゆき、欧米(ISO-8859-1)を選択してから、メールの文を、かな漢字変換を使わないで(キーボードの文字だけで)書きます。
図4 Netscape Messenger の送信用・欧米文字コード設定画面
Outlook Express では、メッセージの作成画面で、「書式(O)」→「エンコード」の順に開いて、西ヨーロッパ言語を選択し、かな漢字変換を使わないで(キーボードの文字だけで)書きます。
図5 Outlook Express の送信用・欧米文字コード設定画面
Netscape Messenger では、添付ファイルのエンコード方式はMIME (BASE64)が初期設定になっています。通常、変更の必要はありません。ただし、「新規作成」のメッセージ作成画面で、メニューの「オプション」ボタンを押すと、「添付をMIMEではなくuuencodeにする」というチェック・ボタンが出てきます。(画像省略)
Outlook Express では、「ツール(T)」→「オプション」→「送信」→「メール送信の形式」の横の「テキスト形式の設定」を開くと下図6のようになりますから、「MIME」のボタンをチェックし、その下の「エンコード方法(E)」は なし にします(ここにBASE64などを設定すると、メール本文を含めて全部がエンコードされてしまいます)。
図6 Outlook Express の添付ファイルだけエンコードする設定画面
>Netscape Messenger では、メニューの「編集」から「設定→「書式」と開き、下図7のように「メッセージ作成にテキスト エディタを使用する」と、「メッセージをテキストのみに変換する」のボタンにチェックを入れます。
図7 Netscape Messenger の送信メッセージをテキスト形式に設定する画面
Outlook Express では、「ツール(T)」→「オプション」→「送信」→「メール送信の形式」の画面を開きます(上の図6と同じ)。ここで「メール送信の形式」の「テキスト形式」のボタンをチェックします。