制定の背景
扱える文字集合
ISO-2022-JP で扱える文字集合は、ASCIIコード(ISO 646 または JIS X 0201 8単位表の前半)、JIS X 0208(1978年版、1983年版、1990年版)である。
注意すべきは、JIS X 0201 8単位表 の後半にある半角カタカナをサポートしていないことである。国産メーラーのほとんどは、半角カタカナの送受信はできるが、規格としてはサポートしていないので、半角カタカナの使用は避けるべきだろう。
もうひとつ注意すべき事は、JIS X 0212 や JIS X 0213 をサポートしていないことである。規格上は、JIS補助漢字、第3・第4水準漢字を扱うことができない。
その後、ISO-2022-JP-1 で JIS X 0212 をサポート、ISO-2022-JP-3 では JIS X 0212 の代わりに JIS X 0213 をサポートしたが、このように扱う文字集合に混乱が見られるため、実際問題として、JIS補助漢字、第3・第4水準漢字を扱うことができないと考えた方がいい。
注意すべきは、JIS X 0201 8単位表 の後半にある半角カタカナをサポートしていないことである。国産メーラーのほとんどは、半角カタカナの送受信はできるが、規格としてはサポートしていないので、半角カタカナの使用は避けるべきだろう。
もうひとつ注意すべき事は、JIS X 0212 や JIS X 0213 をサポートしていないことである。規格上は、JIS補助漢字、第3・第4水準漢字を扱うことができない。
その後、ISO-2022-JP-1 で JIS 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コード に戻すエスケープシーケンスを加える。
たとえば「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バイトになる。
参考サイト
- ISO-2022-JP:通信用語の基礎知識
- ISO/IEC 10646:2003
- JIS X 0208:日本工業標準調査会
- JIS X 0201 と ISO 2022:ぱふぅ家のホームページ
- JIS X 0208 と全角文字:ぱふぅ家のホームページ
- mailコマンドでISO-2022-JPのテキストメールが送信できない:Linuxの環境設定に関するメモ
- Vim: 文字コードがiso-2022-jpのときは:脳卒中左片麻痺になりました
(この項おわり)
ISO 2022 のサブセットであり、RFC 1468 で規定されている。
なお、半角カタカナ、JIS補助漢字、第3・第4水準漢字は扱わない方がいい。