符号表の構造
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/30 06:03 UTC 版)
「ISO/IEC 2022」の記事における「符号表の構造」の解説
ISO/IEC 2022は当初ISO/IEC 646に基づいた7ビット符号であったので、多くのISO/IEC 646の特性を持ち合わせている。7ビット符号では、各バイトの最上位桁ビットは使われない。これにより、7ビットの伝送路を通してISO/IEC 2022を伝送することは(ISO/IEC 646と同様)容易である。8ビット符号では、最上位桁ビットを GL領域とGR領域 (後述) の区別に用いるが、文字集合中の文字を区別するのには用いない。この特性はEUC符号化の基本原理にも利用されている。 ISO/IEC 2022の符号表は、表示や印字される文字 (図形文字) の領域と、制御機能に使う文字 (制御文字) の領域に分けられている。7ビット符号は、32個の制御文字基本集合の領域 (C0) と、94個または96個の図形文字集合の領域 (GL領域) を持つ。8ビット符号は、これに加えて32個の制御文字補助集合の領域 (C1) と、94個または96個の図形文字集合の領域 (GR領域) を持つ。#図1に、7ビットと8ビットの符号表の構造を示す。符号表上の文字の位置は、表の行および列で表す。たとえばASCIIの「Z」という文字は行列で 05/10 にあたり、符号のバイトの値としては16進数で 5A (10進数で 90) となる。 複数バイトの文字集合では、複数のバイトで1文字を符号化する。たとえば94n文字集合では、2バイトを使って8836個(94×94)までの文字を表現できる。そして、3バイトを使って830584個(94×94×94)までの文字を表現できる。2バイト文字集合では、各文字の符号位置は区点 (3バイト文字集合の場合は面区点) で(面および)区および区内の位置を指定する。つまり、94×94文字集合の場合、区および点のそれぞれが 1 から 94 の範囲をとるので、それぞれを1バイトずつGL領域の 02/01 から 07/14 (GR領域ならば 10/01 から 15/14) に対応させて2バイトとする。たとえば、JIS X 0208 の「字」は 27区90点 (27-90) なので、GL領域では 03/11 07/10、GR領域では 11/11 15/10 と表現される。 図1 ISO/IEC 2022の符号表の構造(a) 7ビット符号 行\列 0001020304050607080900 01 02 03 04 05 06 07C0 GL C1 08 09 10 11 12 13 14 15 (b) 8ビット符号 行\列 0001020304050607080910111213141500 01 02 03 04 05 06 07C0 GL C1 GR 08 09 10 11 12 13 14 15 JIS X 0202:1998 を元に作成。 符号表上の文字の位置を行と列で示す。たとえば 01/11 (ESCAPE) は16進数値では 1B にあたる。 a 常に ESCAPE 制御文字。 b GL領域に94文字集合が呼び出されているときは SPACE (空白文字) となる。 c GL領域に94文字集合が呼び出されているときは DELETE 制御文字となる。 d 7ビット符号では、C1制御文字は実際には使用しない。代替のエスケープシーケンスで表す。 e GR領域に94文字集合が呼び出されているときは、この2つの行列は使用しない。
※この「符号表の構造」の解説は、「ISO/IEC 2022」の解説の一部です。
「符号表の構造」を含む「ISO/IEC 2022」の記事については、「ISO/IEC 2022」の概要を参照ください。
- 符号表の構造のページへのリンク