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