目次> 第8章> 8.2 TOPUPPREVNEXT

8.2 JIS ANK

7ビット及び8ビットの情報交換用符号化文字集合 JIS X 0201-1997 のコード表は次のようなものです。 元になっている規格は、1991年に第3版として発行された ISO/IEC 646 Information technology -- ISO 7-bit coded character set for information interchange です。 ここでは、図形文字の文字集合が制定されており、 制御文字は別の規格として制定されました(8.5節)。

この規格が制定された頃から、 文字コード(文字の符号系)は、符号化の対象となる 文字集合 を決める部分と、 文字集合の文字を具体的に符号化する方法 ( エンコーディング ) を定める部分に分けて 規格化されるようになりました。 文字の図形を選び、名前を付け、識別のためのビット組合せを決めるというところまでが、 「文字集合」の定義です。

 
O @P`p
!1 AQaq
"2 BRbr
#3 CScs
$4 DTdt
%5 EUeu
&6 FVfv
'7 GWgw
(8 HXhx
)9 IYiy
*; JZjz
+: K[k{
,< L\l|
-= M]m}
.> N^n
/? O_o

上記の表で、アルファベットや数字、カタカナなどの文字集合を定めようとしています。

とりあえずは、8ビットの符号の表として見てみましょう。 表の読み方は、8.2節と同じで、文字 A、H、I、J、K、L、p、q、 ア、カ、サ、ヤ、ラ、ワ は以下の通りです。

2進表示 8進表示 16進表示 10進表示 文字 ビット組合せ
01000001101 4165A 4/1
01001000110 4872H 4/8
01001001111 4973I 4/9
01001010112 4A74J 4/10
01001011113 4B75K 4/11
01001100114 4C76L 4/12
01110000160 70112p 7/0
01110001161 71112q 7/1
10110001261 B1177 11/1
10110110266 B6182 11/6
10111011273 BB187 11/11
11010100324 D4212 13/4
11010111327 D7215 13/7
11011100334 DC220 13/12

表中太枠が12ヶ所ありますが、ISO/IEC 646 の規格では、 16進表示で、 23 には NUMBER SIGN(#) か POUND SIGN(£) を、 24 には CURRENCY SIGN( ) か DOLLAR SIGN( $ ) を、 それ以外の10ヵ所は各国で自由に文字を割り当ててよいことになっています。

いくつかの国の割り当てを掲げておきます。
23
2/3
24
2/4
40
4/0
5B
5/11
5C
5/12
5D
5/13
5E
5/14
60
6/0
7B
7/11
7C
7/12
7D
7/13
7E
7/14
米国#$@[ ]^`{ }~
日本#$@[ ]^`{ }

特に、7E(7/14)については、「JIS X 0201 付属書2 OVER LINE の 字形の許容範囲」 として、「送信者と受信者で合意があれば、TILDE と同じ字形を使用してよいが、文字の名称は OVER LINE でなければならない」と定めています。 許容できる図形記号は以下の3つ。

~

ここまでが、文字集合の話で、以降がエンコーディングの話です。

自然な流れとして、ここで定義されたコードがそのまま 8ビット符号 になります。

7ビットの符号としては、カタカナの A1 〜 DF の部分があふれてしまいます。 頭の1ビットを取り外して、7ビットにするかわりに、制御文字 シフトアウト SO(0/14) と シフトイン SI(0/15)を前後につけることになっています。
たとえば、 ABCアイウXガ12Z という文字列を 7ビット符号 で表すと、

文字列  A B C [SO] ア イ ウ [SI] X [SO] カ ゙ [SI] 1 2 Z
ビット組合せ 4/1 4/2 4/3 0/14 3/1 3/2 3/3 0/15 5/8 0/14 3/6 5/14 0/15 3/1 3/2 5/10
16進表示 41 42 43 0E 31 32 33 0F 58 0E B6 DE 0F 31 32 5A
2進表示 01000001 01000010 01000011 00001110 00110001 00110010 00110011 00001111
 01011000 00001110 10110110 11011110 00001111 00110001 00110010 01011010

カナ文字の ア と 数字の 1 がどちらも 16進の 31 で表されているのがわかります。

この SO と SI のように シフトアウトやシフトインを指定し、 それを打ち消す指定がくるまで、同じシフトの状態を続ける方式を、ロッキングシフト といいます。 これに対し、シフトが必要な文字の前に毎回シフト記号をつける方法は シングルシフト と呼ばれます。

ここで、7ビット符号という用語をエンコーディング(エンコード)ととらえましたが、 「 7ビット符号 」 を 8.2節 の 7ビットASCII の同義語として 文字集合の名前として用いることもあります。

更新日:2013/12/09 TOPUPPREVNEXT