ISO-2022-JP と電子メール

(1/1)
電子メール
ISO-2022-JP は、電子メールで正しく日本語を届けることができるように、JIS X 0208 の日本語文字を7ビットで表現する文字符号化方式である。俗に JISコード と呼ばれており、97JIS の附属書に記されている。
ISO 2022 のサブセットであり、RFC 1468 で規定されている。

なお、半角カタカナ、JIS補助漢字、第3・第4水準漢字は扱わない方がいい。

制定の背景

1990年代に入り、インターネットの電子メールが普及すると、日本語を正しく送受信できる必要性が高まってきた。

ところが、電子メールは欧米から発達したものであったため、文字符号化方式のデファクトスタンダードが、7ビットの ASCIIコードだった。一方、国内で普及していたシフトJISコードは8ビットである。
電子メールは多くの中継サーバを経由して運ばれるバケツリレー方式であり、経由サーバが海外にあり7ビットにしか対応していないと、日本語を正しく送り届けることができない。

そこで、7ビットでも漢字を扱える文字符号化方式として ISO-2022-JP が誕生した。

扱える文字集合

ASCIIコード
ASCIIコード
ISO-2022-JP で扱える文字集合は、ASCIIコードISO 646 または JIS X 0201 8単位表の前半)、JIS X 0208(1978年版、1983年版、1990年版)である。

注意すべきは、JIS X 0201 8単位表 の後半にある半角カタカナをサポートしていないことである。国産メーラーのほとんどは、半角カタカナの送受信はできるが、規格としてはサポートしていないので、半角カタカナの使用は避けるべきだろう。

もうひとつ注意すべき事は、JIS X 0212JIS X 0213 をサポートしていないことである。規格上は、JIS補助漢字、第3・第4水準漢字を扱うことができない
その後、ISO-2022-JP-1JIS X 0212 をサポート、ISO-2022-JP-3 では JIS X 0212 の代わりに JIS X 0213 をサポートしたが、このように扱う文字集合に混乱が見られるため、実際問題として、JIS補助漢字、第3・第4水準漢字を扱うことができないと考えた方がいい。

文字符号化方式とエスケープシーケンス

ASCIIコード の7ビットの範囲のみで、エスケープシーケンスによって文字集合を切り換える。つまり、エスケープシーケンス 1B 24 42(いずれも16進数)があらわれると、そのあとに続く文字符号は 83JIS とみなす。そして、1B 28 42 があらわれると、そのあとは ASCIIコード とみなす。
たとえば「JISコード」を ISO-2022-JP-1 で表すと、下記のようになる。テキストの終端では、ASCIIコード に戻すエスケープシーケンスを加える。
テキスト J I S (83JIS) (ASCII)
ISO-2022-JP 4A  49  53  1B 24 42 25 33 21 3C 25 49 1B 28 42
エスケープコードの種類は下表の通りである。
文字集合 エスケープシーケンス
ASCII(ISO/IEC 646) 1B 28 42
JIS X 0201 1B 28 4A
JIS X 0208:1978 1B 24 40
JIS X 0208:1983 1B 24 42
JIS X 0208:1990 1B 26 40 1B 24 42
JIS X 0212-1990 1B 24 28 44
JIS X 0213:2000 漢字集合1面 1B 24 28 4F
JIS X 0213:2000 漢字集合2面 1B 24 28 50
JIS X 0208 を符号化するには、JIS面区点番号の区に0x20を加えた値が第1バイト、点にに0x20を加えた値が第2バイトになる。

参考サイト

(この項おわり)
header