記事インデックス

第1章 漢字コードの規格

漢字コードは JIS 規格にて、文字位置を特定する JIS X 0208, JIS X 0212(いわゆる「区点コード表」)と符号化方式を定めた JIS X 0202 が規定されています。

漢字コードの最新規格は1998年5月1日現在、JIS X0208-1997 として定義されている「JIS 漢字コード」と、JIS X0212-1990 として定義されている「JIS 補助漢字コード」があります。なお、規格解説中に「JIS X0208-1997 規格は、JIS X0208-1990 規格に対して、文字の追加・削除・入替えなどの文字集合に対する変更は一切行っていない」とあります。これは、改正の目的が「JIS X0208-1990 のあいまいな規定を明確化し、より使いやすい規格とする(規格解説より抜粋)」ためであると説明されています。

表1-1 漢字コード制定の流れ
制定年規格名称文字数
  第一水準第二水準非漢字
1976 JIS C 6226-1978 2,965 3,384 453
1983 JIS X 0208-1983 2,965 3,388 524
1990 JIS X 0208-1990 2,965 3,390 524
1990 JIS X 0212-1990 5,801    
1997 JIS X 0208-1997 2,965 3,390 524

注1) JIS X 0208は、もともと JIS C 6226という名前で1978年に制定されましたが、JIS X部門(情報処理)の新設に伴ってJIS X 0208と改められました。

注2) JIS X 0212(補助漢字)には「第一水準」「第二水準」といった区分はありません。

また、JIS X0208-1997 において、初めて「いわゆる"シフト JIS もしくは MS 漢字コード"」といわれていたコード体系を附属書1として規格化し、RFC1468符号化表現(通称ISO-2022-JP としてインターネット上での電子メール、ネットワークニュース、FTP(ASCIIモード)などでの日本語テキストの符号化方法として、既に広く用いられ ている)を附属書2として規格化しています。

なお、JIS X0208-1997 附属書1では、JIS X0201 で規定される1バイトカタカナの領域を「JIS/ISO の符号化文字集合での基本原則である図形文字の一意な符号化に反する」ということで将来削除すると予告しています。1バイトカタカナコードは、DB(住所録や業務マスタ) でよく使用されているため、将来的な動向に気を配る必要があります。

 

図形文字
図形文字というと●とか▲とかハートマークとか罫線とかを思い浮かべるかもしれませんが、そうではなくて、制御文字に対して、アルファベット・数字・記号などの目に見える形をもった普通の文字のことです。空白は制御文字とも図形文字ともみなすことができます。

 

なお、注意点として、JIS の定義は最新版のみが有効であり過去のものは無効となりますが(つまり現時点ではいわゆる 97JIS のみが有効であり 78JIS 漢字コードは無効であるということ)、旧機種のパソコンやワープロで 78JIS しか使用できない環境が存在するということを考慮し、RFC1468 では ISO 2022 のエスケープシーケンスを使用し 78JIS と 83JIS との間でコード番号の入れ替えられた漢字表示を切り替える機能を提供しています。ISO 2022 のエスケープシーケンスは次の形式となります。

<ESC> <0個以上の中間文字...> <終端文字>

中間文字とは0x20~0x2Fの範囲の符号であり、終端文字とは0x30~0x7Eの範囲の符号です。

なお、エスケープシーケンスを構成する中間文字や終端文字は単なる符号であり、特定の文字集合の文字を表現するものではありませんが、便宜上 ESC$ B のようにASCII文字を用いて示すことがあります。

JISコードで使用される指示のシーケンスは以下のようになります。

表1-2 JISコードで使用される指示のシーケンス
シーケンス内容
<Esc>(B ASCII(ISO/IEC646 の国際基準版)へのシフト
<Esc>(J JIS ローマ字(JIS X0201 のラテン文字集合)へのシフト (1 byte カナ文字は最上位 bit が"1"となるためインターネットでは使用禁止)
<Esc>$@ いわゆる 78JIS へのシフト(附属書2では JIS X0208-1997 から入れ替える文字を定義している)
<Esc>$B JIS X0208-1997 へのシフト
<Esc>$D JIS X0212-1990 へのシフト (補助漢字をサポートしていないシステム(シフトJIS等)では無効)