JIS漢字コード
漢字などの文字集合を規定したJIS規格(JIS X 0208:7ビット及び8ビットの2バイト情報交換用符号化漢字集合、または、JIS X 0213:7ビット及び8ビットの2バイト情報交換用符号化拡張漢字集合)で定められたもの。JIS X 0208は、第一水準漢字と第二水準漢字、JIS X 0213は、第一水準~第四水準漢字を定めている。JIS X 0213には、2000年版と2004年版があり、若干の文字追加と字体の変更が行なわれている。
文字集合としては、区点番号(JIS X 0208の場合)、または、面区点番号(JIS X 0213の場合)で文字を識別する。但し、一般には、これらの文字集合を7ビットエンコードしたコードをJIS漢字コードと呼ぶことが多い(8ビットエンコードには、シフトJISとEUC-JPがある)。
7ビットエンコードされたJIS漢字コードは、第一バイト・第二バイトとも0x21~0x7Eの領域を使用する2バイトコートで、1バイトコードとは、エスケープシーケンスを使用して切り替えて混在させる。エスケープシーケンスは、ISO/IEC 2022で規定されているコードが用いられることが多く、このエスケープシーケンスと組み合わせたJIS漢字コードは、ISO-2022-JPと呼ばれる。
ISO-2022-JP のエスケープシーケンスは下記の様に定義されているが、ほとんどのアプリケーションでは新JIS+JIS半角を用いているので、漢字IN=ESC $ B/漢字OUT=ESC ( J にほぼ固定されている。
文字セット | エスケープシーケンス |
---|---|
ASCII | ESC ( B |
旧JIS(JIS X 0208-1978) | ESC $ @ |
新JIS(JIS X 0208-1983) | ESC $ B |
JIS半角(JIS X 0201-Roman) | ESC ( J |
JIS X 0213で追加された第四水準漢字は、第一水準~第三水準漢字と重複する区点番号の第2面に割り当てられている。この為、7ビット符号も重複するので、異なるエスケープシーケンスを用いて第一水準~第三水準/第四水準を切り替える仕様になっている。しかしながら、この仕様を実装したOSは実在せず、Unicodeへの切り替えが進んでいる。従って、事実上、JIS漢字コードで使用できる漢字は第三水準までである。
他に、JIS X 0208に不足していた漢字の追加だけを行なった規格 JIS X 0212 もあるが、シフトJISエンコードできない領域に文字を割り当てていたため普及していない(JIS X 0212とJIS X 0213には互換性がない)。