プログラミングの国際化

国際化と分散ネットワーク

この節では、他のホスト上のアプリケーションとの情報の交換について説明します。データの転送ではいつかのパラメタを考慮しなければなりません。

リモートホストがローカルホストと同じコードセットを使用している場合で、プロトコルが 8 ビットデータを処理できる場合は、変換は必要ありません。プロトコルが 7 ビットのデータしか扱えない場合は、8 ビットコードポイントは 7 ビット ASCII 値にマップしなければなりません。変換にはさまざまな方法があります。

リモートホストのコードセットがローカルホストのコードセットと異なる場合は、つぎの 2 つのケースが当てはまります。変換は特定のプロトコルによって異なります。プロトコルが 8 ビットを処理できる場合は、プロトコルはどちら側で変換を行うかを指定する必要があります。プロトコルが 7 ビットしか処理できない場合は、文字レパートリーの識別とともに、7 ビット交換エンコーディングが必要です。

メール交換

インターネットが普及し、世界中の人々との通信が容易になるにつれ、多くのプラットフォームやさまざまなロケールで電子メールが送信されるようになりました。しかし、電子メール交換の規格は、デスクトップコンピュータにより制限され、そのデフォルトの電子メール規格は SMTP (メール転送プロトコル) で、7 ビット伝送チャネルしかサポートされていません。

送信エージェントはメッセージの本文を標準形式に変換し、本文のラベルを付けます。受信エージェントは本文を見て文字エンコーディングをサポートしているか確認し、本文をローカルの文字セットに変換します。

dtmail は現在、言語変換ライブラリ (LCL) を使用しているので、Subject 行、メール本文、およびアタッチメントで複数バイトの文字をサポートしています。dtmail には、1 つのメールに複数のエンコーディングによる文字を混在させる機能もあります。たとえば、日本語 (ja) ロケールで SJIS と EUC の両方を使用できます。