文字コードを整理する

大きく分けてJIS規格を元にした漢字コードとUnicodeの2つに分けられます。

JIS規格の変遷

US-ASCII(より正確にはISO/IEC 646)に基づく英数字といわゆる半角カナを定めたものが JIS X 0201。漢字を第2水準まで約7000文字を定めた JIS X 0208。第3水準、第4水準までを加え約11000文字に拡張した JIS X 0213 と大づかみにしておきます。現在は0208から0213への過渡期になっています。

JIS規格番号 制定年/
最近の改訂年
説明 文字数
JIS X 0201 1969 制定時の規格番号はJIS C 6220。US-ASCIIとほとんど同じ英数字と、いわゆる半角カナからなる。(制御文字はJIS X 0211)。7ビットまたは8ビット使用。 160文字
(制御文字と未定義を合わせて256)
JIS X 0208 1978/1997 非漢字(記号、ラテン文字、平仮名など)524文字、第1,第2水準漢字 6,355文字。1から94までの区と1から94までの点を使い文字「亜」は16区1点と表現する。94 × 94 = 8,836個の文字が登録可能である。 6,879文字
JIS X 0212 1990 JIS X 0208に含まれない文字を補助として規定したが、問題ありとして現在の位置づけは明記されていない。JIS X 0213を使用することが推奨される。 6,067文字
JIS X 0213 2000/2004 JIS X 0208を拡張し、第三・第四水準漢字などを加えた上位集合である。JIS X 0212とは互換性を持たない。
JIS X 0208の未使用領域に非漢字659字及び第三水準1259字を入れて第一面とし、第四水準の文字を第二面として加えた。これで「亜」は1面16区1点(1-16-1)と表現する。
JIS X 0208に4,354字が追加され、計11,233文字

Shift_JIS, EUC-JPなどはJISの文字セットを元にしている

JIS X 0201 の時代はそのまま規格で割り当てられた数字が文字コードでしたが、JIS X 0208 以降はこれを元にしていくつかの文字コードが作られています。JIS X 0208の区点コードにある計算を施せばそれぞれの文字コードになるというもので、この場合はJIS X 0208 を文字セット、計算のきまりをエンコーディングといいます。

Shift_JIS, EUC-JPなどはこのエンコーディングの種類です。

ISO-2022-JP, Shift_JIS, EUC-JP は JIS X 0208 を元に作られたエンコーディング方式です。すべて区点の数値から計算できます。JIS X 0213 に対する換算もほぼ決まっています。

方式 操作 「あ」
区点 そのまま 4区2点
ISO-2022-JP 0x2020を加える 2422
Shift_JIS 複雑なので省略 82A0
EUC-JP 0xa0a0を加える A4A2

亜の近辺の一覧。2022(ISO-2022-JP)、SJIS(Shift_JIS)、EUC(EUC-JP)は区-点を元に変換しているので区点で隣り合う文字は他のエンコーディングでもほぼ隣り合う。それに対して、Unicode系の UCS-2 と UTF-8 では一般には隣り合わない。

区-点2022SJISEUCUCS-2UTF-8GLYPH
16-13021889FB0A14E9C E4BA9C
16-2302288A0B0A25516 E59496
16-3302388A1B0A35A03 E5A883
16-4302488A2B0A4963F E998BF
16-5302588A3B0A554C0 E59380
16-6302688A4B0A6611B E6849B
16-7302788A5B0A76328 E68CA8
16-8302888A6B0A859F6 E5A7B6
16-9302988A7B0A99022 E980A2
16-10302a88A8B0AA8475 E891B5
16-11302b88A9B0AB831C E88C9C
16-12302c88AAB0AC7A50 E7A990
16-13302d88ABB0AD60AA E682AA
16-14302e88ACB0AE63E1 E68FA1
16-15302f88ADB0AF6E25 E6B8A5

UTF-8, UCS-2はUCS/Unicodeの文字セットを元にしている

UCS/Unicodeの漢字部分は中国や韓国で使われている漢字と合わせて配置したため、JIS X 0213 とまったく異なる表になっており、換算はできません。対応表を見るしかなくなっています。(しかも記号については複数の対応が考えられて混乱しています)

UCS/Unicode 自体もさまざまな事情のため複雑なのですが、ここでは JIS X 0213 との文字セットの違いを認識してください。

ただし日本で使用する漢字はJISを元にUnicodeに登録しているためJISにある文字はすべて登録されています。

また、UCS/Unicode(正確にはISO/IEC 10646)を翻訳してJISとして定めた JIS X 0221 もあります。このような規格を国際一致規格といいます。JIS X 0221の規格名称は「国際符号化文字集合(UCS)」といいます。UCS/Unicode と JIS規格との関係もまたさまざまな事情を含んでいます。

UCS-2の順に並べた亜の近辺の一覧。UTF-8はUCS-2を元にしたエンコード方式なので順番になっています。しかし、区点とそれを元にした 2022(ISO-2022-JP)、SJIS(Shift_JIS)、EUC(EUC-JP)は順番がばらばらです。空欄は中国や韓国の漢字のためJISに定められていない漢字です。

UCS-2UTF-8区-点2022SJISEUCGLYPH
4E91E4BA9117-30313E895DB1BE
4E92E4BA9224-63385F8CDDB8DF
4E93E4BA93
4E94E4BA9424-62385E8CDCB8DE
4E95E4BA9516-70306688E4B0E6
4E96E4BA96
4E97E4BA97
4E98E4BA9847-434F4B986ACFCB
4E99E4BA9947-424F4A9869CFCA
4E9AE4BA9A
4E9BE4BA9B26-193A338DB1BAB3
4E9CE4BA9C16-013021889FB0A1
4E9DE4BA9D48-19503398B1D0B3
4E9EE4BA9E48-20503498B2D0B4
4E9FE4BA9F48-21503598B3D0B5
聖愛中学高等学校
http://www.seiai.ed.jp/
Aug. 2009