Early ASCII (ASA X3.4:1963)
← ホームへ戻る

ISO/IEC 646の仕組みと文字エンコーディングの歴史

🗓 2026年8月13日

現代のデジタル通信において、文字をコンピュータが理解できる形式に変換する「文字エンコーディング」は不可欠な技術です。その基礎を築いた重要な標準の一つがISO/IEC 646です。これは7ビットの基本ラテン文字エンコーディングであり、世界中で情報交換を円滑に行うための共通言語として設計されました。

もともと米国で策定されたASCII(米国標準協会 X3.4)をベースにしており、それを国際標準へと拡張したものがISO/IEC 646です。この規格の最大の特徴は、基本となる文字セットを維持しつつ、各国の言語特性に合わせて一部の文字を差し替える「国家バリアント」という仕組みを導入した点にあります。

Early ASCII (ASA X3.4:1963)

Key Facts

  • 規格の性質: 7ビットの基本ラテン文字エンコーディング
  • ベース技術: US-ASCIIを前身とし、後にISO/IEC 8859やISO/IEC 10646(Unicodeの基礎)へと継承された。
  • 柔軟な設計: 国家バリアントにより、同一のコード位置に異なる言語の文字を割り当てることが可能。
  • 構成: 制御文字と、表示可能なグラフィック文字で構成される。

ISO/IEC 646の構造と展開

ISO/IEC 646は、0から127までの128個のコードポイントを持つ7ビット形式を採用しています。このうち、低位のコード領域は通信制御のための制御文字(NUL, SOH, LF, CRなど)に割り当てられ、高位の領域には英数字や記号などの表示文字が配置されています。

US-ASCII, or ISO/IEC 646:US

国家バリアント(National Variants)の役割

英語以外の言語では、英語の記号の代わりにアクセント付き文字や通貨記号が必要になります。ISO/IEC 646では、特定のコード位置を「可変」とし、国ごとに異なる文字を定義することを認めました。例えば、イギリス版ではドル記号($)の代わりにポンド記号(£)が使用されるといった運用が行われました。

日本においても、この仕組みを利用した規格が存在します。JIS C 6220(ISO-IR-14)などの規格では、バックスラッシュ(\)の代わりに円記号(¥)が割り当てられており、これが現代のWindows環境におけるパス区切り文字の挙動に影響を与えています。

ISO 646:JP

標準の変遷と後継規格

ISO/IEC 646は、1960年代のECMA-6から始まり、数回の改訂を経てITU-T T.50などの勧告へと発展しました。しかし、7ビットという制限では多言語を同時に扱うことが困難であったため、後に8ビットのISO/IEC 8859シリーズや、世界中の文字を網羅するISO/IEC 10646(Unicode)へと移行していきました。

主要な国家バリアントの比較

以下に、ISO/IEC 646における代表的な国家バリアントと、その特徴的な文字割り当てをまとめます。

ISO/IEC 646 主要バリアント一覧
バージョンコード ISO-IR 対象地域/言語 特徴的な文字の例
US / IRV 6 米国 / 不変部分集合 標準的なASCII文字
JP 14 日本 ¥ (円記号)
GB 4 イギリス £ (ポンド記号)
DE 21 ドイツ Ä, Ö, Ü, ß
FR 69 フランス à, ç, é, µ
ES 17 スペイン ¡, Ñ, ¿

Frequently Asked Questions

ISO/IEC 646とASCIIは何が違うのですか?

ASCIIは米国標準の7ビットコードですが、ISO/IEC 646はそれを国際標準化したものです。最大の違いは、ISO/IEC 646が「国家バリアント」を定義し、国によって一部の文字を差し替えられる柔軟性を持たせた点にあります。

なぜ日本でバックスラッシュが円記号になるのですか?

これはISO/IEC 646の日本向けバリアント(ISO-IR-14)において、ASCIIのバックスラッシュ(\)と同じコード位置に円記号(¥)を割り当てたためです。この歴史的経緯が、現在のコンピュータ環境にも引き継がれています。

7ビットエンコーディングとはどういう意味ですか?

1つの文字を表現するために7つのバイナリ桁(0か1)を使用することを意味します。これにより、2の7乗である最大128種類の文字を区別して表現することが可能です。

この規格は現在も使われているのでしょうか?

現在、多くのシステムはUnicode(UTF-8など)に移行していますが、ISO/IEC 646の設計思想や基本文字セットはUnicodeの「Basic Latin」ブロックとしてそのまま継承されており、実質的に現代の文字コードの根幹を支え続けています。

References

  1. The short code used in these tables is taken from the last part of the "ISO646-xx" alias in the charset registry, if one exists. For charsets not registered with IANA, reasonable short names has been chosen for the purposes of this article. There is no standardized naming scheme that encompasses all ISO/IEC 646-related charsets.
  2. Is a subset of one of the International Reference Versions of ISO 646, but does not include all characters which are present in the invariant set. Included for comparison.
  3. Also UK Teletext.
  4. Does not completely conform to ISO/IEC 646, but is a closely related derivative. Included here for comparison.
  5. Corresponding DEC NRC set also exists and is identical to the ISO/IEC 646 national version.
  6. Corresponding WST national option also exists and is identical to the ISO/IEC 646 national version
  7. The NATS charsets replace @ (0x40) and ` (0x60) with "Unit space A" (UA) and "Unit space B" (UB). The plain space (0x20) expands on justification. UA and UB are for fixed widths, UA must be at least as wide as UB.  1345 maps UA and UB to code points U+E002 and U+E003, both in the , respectively (although it also lists PUA mappings for several other characters which now have UCS code points). Unicode contains which might approximately correspond.
  8. Conformance to the ISO 646 invariant set is questionable, but it is a closely related derivative of ISO 646. Included here for comparison.
  9. The characters at 0x5C and 0x7C in the Icelandic set are both the acute accent. The first is intended for use with uppercase letters, the second with lowercase letters.
  10. In addition to the replacements shown here, ZU2 also replaces ' (0x27) with Ó, * (0x2A) with Ź, ; (0x3B) with Ą, < (0x3C) with Ń, and > (0x3E) with Ś. This completes coverage of the Polish alphabet in uppercase and lowercase.

📸 フォトギャラリー

Early ASCII (ASA X3.4:1963)
US-ASCII, or ISO/IEC 646:US
ISO 646:JP