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 646:1972 http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-006.pdf
 ISO 646:1983, Status: withdrawnhttp://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=4776
 ISO/IEC 646:1991

 符号表 

以下の表に、ISO/IEC 646の文字コードセットを示す。各々の文字は、Unicodeで相当するものの十六進コードとISO/IEC 646コードの十進値で示される。灰色で色掛けされたセルは、国によって異なる文字が定義されるコードポイントを示す。実際の定義は下に示す。

 ISO/IEC 646に準拠した標準 
ISO/IEC 646に準拠した国家規格は、以下の通りである。

CodeISO-IR国家規格使用国CA-1121CSA Z243.4-1985カナダ (nr. 1 alternative, with “î”)（フランス語, classical）(Code page 1020)CA-2122CSA Z243.4-1985カナダ (nr. 2 alternative, with “É”)（フランス語, reformed orthography）CN057GB/T 1988-80中華人民共和国（基本ラテン文字）CU151NC 99-10:81キューバ（スペイン語）DE021DIN 66003ドイツ（ドイツ語）(Code page 1011)DK—DS 2089デンマーク（デンマーク語）(Code page 1017)FI010SFS 4017フィンランド（基本） (Code page 1018)FR069AFNOR NF Z 62010-1982フランス（フランス語）(Code page 1010)FR-0025AFNOR NF Z 62010-1973フランス（1985年4月に廃止）(Code page 1010)GB004BS 4730イギリス（英語）(Code page 1013)GR088HOS ELOTギリシャ（廃止）HU086MSZ 7795/3ハンガリー（ハンガリー語）IE207NSAI 433:1996アイルランド（アイルランド語）

CodeISO-IR国家規格使用国INV170ISO 646:1983Invariant subsetIRV002ISO 646:1983International Reference Version (Code page 1009)JA014JIS C 6220-1969日本（ローマ字）JA-O092JIS C 6229-1984日本 (OCR-B)KR—KS C 5636-1989韓国MT—?マルタ（マルタ語、英語)NO060NS 4551 version 1ノルウェー (Code page 1016)NO-2061NS 4551 version 2ノルウェー（1987年6月に廃止）SE010SEN 85 02 00 Annex Bスウェーデン（基本スウェーデン語）(Code page 1018)SE-C011SEN 85 02 00 Annex Cスウェーデン（名前用のスウェーデン語の拡張）T.61102ITU/CCITT T.61 Recommendation国際（テレックス）TW—CNS 5205-1996中華民国（台湾）US006ANSI X3.4-1968アメリカ合衆国（ASCII）(Code page 367)YU141JUS I.B1.002 (YUSCII)旧ユーゴスラビア（クロアチア語、スロベニア語、セルビア語、ボスニア語）

以下は、ISO/IEC 646に準拠したプロプライエタリな規格で、後に国際的な使用のために標準的団体によって承認されたものである。

CodeISO-IR承認団体開発元使用国ES085ECMAIBMスペイン（バスク語、スペイン語、カタルーニャ語、ガリシア語）(Code page 1014)esp017ECMAオリベッティスペイン語（国際）(Code page 1023)DK-SE009-1SISNATS, main setスウェーデン・デンマーク (journalistic texts)

CodeISO-IR承認団体開発元使用国FI-SE008-1SISNATS, main setスウェーデン・フィンランド (journalistic texts)IT015ECMAオリベッティイタリア語 (Code page 1012)NL—ECMAIBMオランダ（オランダ語）(Code page 1019)PT084ECMAIBMポルトガル（ポルトガル語、スペイン語）(Code page 1015)por016ECMAオリベッティポルトガル語（国際）(Code page 1022)swi—ECMAオリベッティスイス（フランス語、ドイツ語）(Code page 1021)

各標準で異なっている文字は、以下の通りである。

符号各標準の文字2進10進16進INVT.61USJAJA-OKRCNTWIRVGBDKNONO-2FI,SESE-CDEHUFRFR-0CA-1CA-2IEISITporPTespESCUMTYUNLswi010 00103422"""""""""""""""""""""""""""""""""010 00113523 ########£##§####££##£#£########ù010 01003624 ¤$$$$¥$¤$¤$$¤¤$¤$$$$$$$$$$$¤$$$$010 10013927''''''''’’’’’’’’’’’’’’'’’’’’’’’’’010 1100442C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,010 1101452D---------------------------------010 1111472F/////////////////////////////////100 00006440 @@@@@@@@@@@@@É§ÁààààÓÐ§§´§·@@Ž@à101 1011915B [[[[[[[[[ÆÆÆÄÄÄÉ°°ââÉÞ°ÃÃ¡¡¡ġŠ[é101 1100925C  ¥¥₩ØØØÖÖÖÖççççÍçÇÇÑÑÑżĐç101 1101935D ]]]]]]]]]ÅÅÅÅÅÜÜ§§êêÚÆéÕÕ¿Ç]ħĆ]ê101 1110945E  ^^^^^^ˆˆÜˆˆˆÜˆˆ^ˆîÉÁÖˆˆˆˆ¿¿ˆČˆî101 1111955F________________________________è110 00009660  `` `````````é`áµµôôóðù`````ċž`ô111 10111237B  {{{{{{{{æææäääééééééþàãã°´´Ġš{ä111 11001247C |||||||||øøøööööùùùùí|òççñññŻđ|ö111 11011257D  }}}}}}}}åååååüüèèèèúæèõõçç[Ħć}ü111 11101267E  ~‾ ‾‾‾˜‾ü¯|¯üß˝¨¨ûûáöì°˜˜¨¨Ċč¯û

上の表で青および赤の背景のセルは、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に置き換えられた。
  - ヘブライ文字を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

 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.

ISO IEC 00646
00646
Category:Ecma