ISO/IEC 646
ISO/IEC 646は7ビットの文字コードを規定する国際標準化機構 (ISO) 標準であり、これを元に各国語版の文字コードが規定される。
アメリカの規格であるASCIIを国際化した体裁となっている。ラテンアルファベット(ISO基本ラテンアルファベット)と数字を中心とした共通部分と、ASCIIでは記号となっている各国規格で自由に割り当てられる部分に分かれており、ヨーロッパ各国ではこの部分にダイアクリティカルマークつき文字を割り当てることにより自国語の文章を符号化できるようになっている。
現在ではヨーロッパでは8ビットコードであるISO/IEC 8859が主流となっており、この規格はあまり使われていない。なお、UnicodeのISO規格であるISO/IEC 10646の規格番号は、この規格の番号にちょうど10000を加えた値となっている。
歴史
[編集]1962年、ISOの技術委員会97(電子計算機と情報処理)は、文字符号の標準化をするための専門ワークグループBを設立した (ISO/TC 97B)。ISO/TC 97Bは、6bit符号案と7bit符号案を作成し、親委員会の回覧投票にかけられた。(同年末、ISO/TC 97Bは、ISO/TC 97/SC 2と改称。)この7bit案は現在のものと異なり、小文字部分が未定義であったり、制御符号が36個あったりしていた。
1963年、6bit案および7bit案の投票結果は賛成多数であった。6bit符号案は若干の修正を経て、ヨーロッパにてECMA-1規格として制定された。またアメリカは7bit案基づき、ASCIIを制定した。
1964年、ISO/TC 97/SC 2は、7bit符号案に小文字等の追加した7bit符号の第3次案を提出した。
1965年から1966年にかけて、7bit符号案に対する、ヨーロッパの各国で使用されるアクセント記号や通貨記号の割り当てについて議論が行われた。その結果、制御記号は0/0 - 1/15の32文字、2/3は ‘£’ または ‘#’ のどちらか、4/0 (@)、5/14 (^)、6/0 (`) は推奨文字があるものの事情によっては変更可能、そして5/11 - 5/13と7/11 - 7/13は自由領域とする最終案が確定した。
1967年6月、ECMAはISOの7bitコードの最終案をECMA-6規格として制定した。同年12月22日、ISOはISO R 646(Rは推奨を意味する)を勧告した。
1973年7月1日、ISO 646が改訂・制定された。1973年版では2つの表が制定された。1つ目は1967年版を踏襲し、さらに2/4を ‘$’ と ‘¤’(国際通貨記号)のどちらでも実装可にしたBCT (Basic Code Table) 版、2つ目は2/3, 2/4, 4/0, 5/11 - 5/14, 7/11 - 7/13に全て推奨文字を割り当てたIRV(International Reference Version; 国際基準版)である。ただしIRV版はASCIIと比較し、2/4は ‘¤’ であり、また7/14はオーバーラインである点が異なっていた。
1991年12月25日、改正されたISO/IEC 646が制定され、その国際基準版はASCIIと完全一致するよう、2/4は ‘$’ に、7/14はチルダに変更された。
発行された標準
[編集]符号表
[編集]以下の表に、ISO/IEC 646の文字コードセットを示す。各々の文字は、Unicodeで相当するものの十六進コードとISO/IEC 646コードの十進値で示される。灰色で色掛けされたセルは、国によって異なる文字が定義されるコードポイントを示す。実際の定義は下に示す。
凡例:
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
_ | 0NUL 0000 0 |
SOH 0001 1 |
STX 0002 2 |
ETX 0003 3 |
EOT 0004 4 |
ENQ 0005 5 |
ACK 0006 6 |
BEL 0007 7 |
BS 0008 8 |
HT 0009 9 |
LF 000A 10 |
VT 000B 11 |
FF 000C 12 |
CR 000D 13 |
SO 000E 14 |
SI 000F 15 |
_ | 1DLE 0010 16 |
DC1 0011 17 |
DC2 0012 18 |
DC3 0013 19 |
DC4 0014 20 |
NAK 0015 21 |
SYN 0016 22 |
ETB 0017 23 |
CAN 0018 24 |
EM 0019 25 |
SUB 001A 26 |
ESC 001B 27 |
FS 001C 28 |
GS 001D 29 |
RS 001E 30 |
US 001F 31 |
_ | 2SP 0020 32 |
! 0021 33 |
" 0022 34 |
35 |
36 |
% 0025 37 |
& 0026 38 |
' 0027 39 |
( 0028 40 |
) 0029 41 |
* 002A 42 |
+ 002B 43 |
, 002C 44 |
- 002D 45 |
. 002E 46 |
/ 002F 47 |
_ | 30 0030 48 |
1 0031 49 |
2 0032 50 |
3 0033 51 |
4 0034 52 |
5 0035 53 |
6 0036 54 |
7 0037 55 |
8 0038 56 |
9 0039 57 |
: 003A 58 |
; 003B 59 |
< 003C 60 |
= 003D 61 |
> 003E 62 |
? 003F 63 |
_ | 4 64 |
A 0041 65 |
B 0042 66 |
C 0043 67 |
D 0044 68 |
E 0045 69 |
F 0046 70 |
G 0047 71 |
H 0048 72 |
I 0049 73 |
J 004A 74 |
K 004B 75 |
L 004C 76 |
M 004D 77 |
N 004E 78 |
O 004F 79 |
_ | 5P 0050 80 |
Q 0051 81 |
R 0052 82 |
S 0053 83 |
T 0054 84 |
U 0055 85 |
V 0056 86 |
W 0057 87 |
X 0058 88 |
Y 0059 89 |
Z 005A 90 |
91 |
92 |
93 |
94 |
_ 005F 95 |
_ | 6 96 |
a 0061 97 |
b 0062 98 |
c 0063 99 |
d 0064 100 |
e 0065 101 |
f 0066 102 |
g 0067 103 |
h 0068 104 |
i 0069 105 |
j 006A 106 |
k 006B 107 |
l 006C 108 |
m 006D 109 |
n 006E 110 |
o 006F 111 |
_ | 7p 0070 112 |
q 0071 113 |
r 0072 114 |
s 0073 115 |
t 0074 116 |
u 0075 117 |
v 0076 118 |
w 0077 119 |
x 0078 120 |
y 0079 121 |
z 007A 122 |
123 |
124 |
125 |
126 |
DEL 007F 127 |
ISO/IEC 646に準拠した標準
[編集]ISO/IEC 646に準拠した国家規格は、以下の通りである。
Code | ISO- IR |
国家規格 | 使用国 |
---|---|---|---|
CA-1 | 121 | CSA Z243.4-1985 | カナダ (nr. 1 alternative, with “î”) (フランス語, classical)(Code page 1020) |
CA-2 | 122 | CSA Z243.4-1985 | カナダ (nr. 2 alternative, with “É”) (フランス語, reformed orthography) |
CN | 057 | GB/T 1988-80 | 中華人民共和国(基本ラテン文字) |
CU | 151 | NC 99-10:81 | キューバ(スペイン語) |
DE | 021 | DIN 66003 | ドイツ(ドイツ語)(Code page 1011) |
DK | — | DS 2089 | デンマーク(デンマーク語)(Code page 1017) |
FI | 010 | SFS 4017 | フィンランド(基本) (Code page 1018) |
FR | 069 | AFNOR NF Z 62010-1982 | フランス(フランス語)(Code page 1010) |
FR-0 | 025 | AFNOR NF Z 62010-1973 | フランス(1985年4月に廃止)(Code page 1010) |
GB | 004 | BS 4730 | イギリス(英語)(Code page 1013) |
GR | 088 | HOS ELOT | ギリシャ(廃止) |
HU | 086 | MSZ 7795/3 | ハンガリー(ハンガリー語) |
IE | 207 | NSAI 433:1996 | アイルランド(アイルランド語) |
Code | ISO- IR |
国家規格 | 使用国 |
---|---|---|---|
INV | 170 | ISO 646:1983 | Invariant subset |
IRV | 002 | ISO 646:1983 | International Reference Version (Code page 1009) |
JA | 014 | JIS C 6220-1969 | 日本(ローマ字) |
JA-O | 092 | JIS C 6229-1984 | 日本 (OCR-B) |
KR | — | KS C 5636-1989 | 韓国 |
MT | — | ? | マルタ(マルタ語、英語) |
NO | 060 | NS 4551 version 1 | ノルウェー (Code page 1016) |
NO-2 | 061 | NS 4551 version 2 | ノルウェー(1987年6月に廃止) |
SE | 010 | SEN 85 02 00 Annex B | スウェーデン(基本スウェーデン語)(Code page 1018) |
SE-C | 011 | SEN 85 02 00 Annex C | スウェーデン(名前用のスウェーデン語の拡張) |
T.61 | 102 | ITU/CCITT T.61 Recommendation | 国際(テレックス) |
TW | — | CNS 5205-1996 | 中華民国(台湾) |
US | 006 | ANSI X3.4-1968 | アメリカ合衆国(ASCII)(Code page 367) |
YU | 141 | JUS I.B1.002 (YUSCII) | 旧ユーゴスラビア(クロアチア語、スロベニア語、セルビア語、ボスニア語) |
以下は、ISO/IEC 646に準拠したプロプライエタリな規格で、後に国際的な使用のために標準的団体によって承認されたものである。
Code | ISO- IR |
承認団体 | 開発元 | 使用国 |
---|---|---|---|---|
ES | 085 | ECMA | IBM | スペイン(バスク語、スペイン語、カタルーニャ語、ガリシア語)(Code page 1014) |
esp | 017 | ECMA | オリベッティ | スペイン語(国際)(Code page 1023) |
DK-SE | 009-1 | SIS | NATS, main set | スウェーデン・デンマーク (journalistic texts) |
Code | ISO- IR |
承認団体 | 開発元 | 使用国 |
---|---|---|---|---|
FI-SE | 008-1 | SIS | NATS, main set | スウェーデン・フィンランド (journalistic texts) |
IT | 015 | ECMA | オリベッティ | イタリア語 (Code page 1012) |
NL | — | ECMA | IBM | オランダ(オランダ語)(Code page 1019) |
PT | 084 | ECMA | IBM | ポルトガル(ポルトガル語、スペイン語)(Code page 1015) |
por | 016 | ECMA | オリベッティ | ポルトガル語(国際)(Code page 1022) |
swi | — | ECMA | オリベッティ | スイス(フランス語、ドイツ語)(Code page 1021) |
各標準で異なっている文字は、以下の通りである。
符号 | 各標準の文字 | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2進 | 10進 | 16進 | INV | T.61 | US | JA | JA-O | KR | CN | TW | IRV | GB | DK | NO | NO-2 | FI,SE | SE-C | DE | HU | FR | FR-0 | CA-1 | CA-2 | IE | IS | IT | por | PT | esp | ES | CU | MT | YU | NL | swi |
010 0010 | 34 | 22 | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " | " |
010 0011 | 35 | 23 | # | # | # | # | # | # | # | # | £ | # | # | § | # | # | # | # | £ | £ | # | # | £ | # | £ | # | # | # | # | # | # | # | # | ù | |
010 0100 | 36 | 24 | ¤ | $ | $ | $ | $ | ¥ | $ | ¤ | $ | ¤ | $ | $ | ¤ | ¤ | $ | ¤ | $ | $ | $ | $ | $ | $ | $ | $ | $ | $ | $ | ¤ | $ | $ | $ | $ | |
010 1001 | 39 | 27 | ' | ' | ' | ' | ' | ' | ' | ' | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ' | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ | ’ |
010 1100 | 44 | 2C | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , | , |
010 1101 | 45 | 2D | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
010 1111 | 47 | 2F | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / | / |
100 0000 | 64 | 40 | @ | @ | @ | @ | @ | @ | @ | @ | @ | @ | @ | @ | @ | É | § | Á | à | à | à | à | Ó | Ð | § | § | ´ | § | · | @ | @ | Ž | @ | à | |
101 1011 | 91 | 5B | [ | [ | [ | [ | [ | [ | [ | [ | [ | Æ | Æ | Æ | Ä | Ä | Ä | É | ° | ° | â | â | É | Þ | ° | Ã | Ã | ¡ | ¡ | ¡ | ġ | Š | [ | é | |
101 1100 | 92 | 5C | \ | ¥ | ¥ | ₩ | \ | \ | \ | \ | Ø | Ø | Ø | Ö | Ö | Ö | Ö | ç | ç | ç | ç | Í | \ | ç | Ç | Ç | Ñ | Ñ | Ñ | ż | Đ | \ | ç | ||
101 1101 | 93 | 5D | ] | ] | ] | ] | ] | ] | ] | ] | ] | Å | Å | Å | Å | Å | Ü | Ü | § | § | ê | ê | Ú | Æ | é | Õ | Õ | ¿ | Ç | ] | ħ | Ć | ] | ê | |
101 1110 | 94 | 5E | ^ | ^ | ^ | ^ | ^ | ^ | ˆ | ˆ | Ü | ˆ | ˆ | ˆ | Ü | ˆ | ˆ | ^ | ˆ | î | É | Á | Ö | ˆ | ˆ | ˆ | ˆ | ¿ | ¿ | ˆ | Č | ˆ | î | ||
101 1111 | 95 | 5F | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | è |
110 0000 | 96 | 60 | ` | ` | ` | ` | ` | ` | ` | ` | ` | ` | ` | é | ` | á | µ | µ | ô | ô | ó | ð | ù | ` | ` | ` | ` | ` | ċ | ž | ` | ô | |||
111 1011 | 123 | 7B | { | { | { | { | { | { | { | { | æ | æ | æ | ä | ä | ä | é | é | é | é | é | é | þ | à | ã | ã | ° | ´ | ´ | Ġ | š | { | ä | ||
111 1100 | 124 | 7C | | | | | | | | | | | | | | | | | | | ø | ø | ø | ö | ö | ö | ö | ù | ù | ù | ù | í | | | ò | ç | ç | ñ | ñ | ñ | Ż | đ | | | ö | |
111 1101 | 125 | 7D | } | } | } | } | } | } | } | } | å | å | å | å | å | ü | ü | è | è | è | è | ú | æ | è | õ | õ | ç | ç | [ | Ħ | ć | } | ü | ||
111 1110 | 126 | 7E | ~ | ‾ | ‾ | ‾ | ‾ | ˜ | ‾ | ü | ¯ | | | ¯ | ü | ß | ˝ | ¨ | ¨ | û | û | á | ö | ì | ° | ˜ | ˜ | ¨ | ¨ | Ċ | č | ¯ | û |
上の表で青および赤の背景のセルは、ISO/IEC 10646およびUnicodeの基本ラテン文字で使われているアメリカ版との違っている箇所を示す。
赤い背景のセルの文字は結合文字で、アルファベットに先行または後置(バックスペースを使用)して用いられる。このコード化は非推奨とみなされている。
以下の規格は、7ビット文字コードではあるが、正式にはISO/IEC 646に準拠していない。
- ELOT 927 - ギリシャ文字を0x61-0x71, 0x73-0x79(ISO/IEC 646ではラテン文字の小文字)に割り当てている。
- KOI-7(KOI) - キリル文字を0x60-0x7E(ISO/IEC 646ではラテン文字の小文字)に割り当てている。KOI8に置き換えられた。
- SI 960 - ヘブライ文字を0x60–0x7A(ISO/IEC 646ではラテン文字の小文字およびグラーブアクセント)に割り当てている。ISO/IEC 8859-8では、SI 960のヘブライ文字の部分をそのまま0xE0-0xFA(最上位ビットを1)に移動させている。
- ASMO 449 - アラビア文字を0x41-0x5A, 0x60-0x6A(ISO/IEC 646ではラテン文字の大文字・小文字)に割り当てている。ISO/IEC 8859-6では、ASMO 449のアラビア文字の部分をそのまま0xC1-0xDA, 0xE0-0xEA(最上位ビットを1)に移動させている。
脚注
[編集]参考文献
[編集]- 安岡孝一・安岡素子『文字符号の歴史・欧米と日本編』(共立出版)ISBN 4-320-12102-3
関連項目
[編集]- ISO基本ラテンアルファベット
- en:Basic Latin (disambiguation)
- ASCII
- 拡張ASCII
- EBCDIC
- ISO/IEC 2022
- ISO/IEC 8859
- ISO/IEC 10646
- ISO/IEC 6937
- 基本ラテン文字 (Unicodeのブロック)
- トライグラフ
- ITU T.50
- ISO/IEC JTC 1/SC 2
外部リンク
[編集]- The ECMA-6 Standard
- Zeichensatz nach ISO 646 (ASCII) - ウェイバックマシン(2016年3月3日アーカイブ分)
- History at GNU Aspell website
- Character Tables by Koichi Yasuoka (see Domestic ISO646 Character Tables and Quasi-ISO646 Character Tables)
- Turkish Text Deasciifier a tool (based on statistical pentagram analysis of the Turkish language) which reverts an ASCII'fied Turkish text by determining the appropriate (but ambiguous) diacritics normally needed in Turkish but missing in the US-ASCII set.