4. INTERNATIONAL STANDARDIZATION OF 7-BIT CODES, ISO 646

Interchange of data is not restricted to national boundaries. Now that ASCII provided rules for coding of characters within the USA, adopting conventions on an international level should be the next step. The obvious institution to make the proper arrangements was, and is, ISO, the International Organization for Standardization.

ISO has Members, called National Bodies, one for each country, that vote on proposals, and has a Central Secretariat in Geneva. The work involved in the development of "International Standards" is delegated to Technical Committees (TC), according to subject. For example, that of ISO TC1 is "screwthreads". As a further subdivision of responsibilities, a TC may have Subcommittees (SC) with national, not personal, members, and finally there are the real experts doing the finer work in Working Groups (WG). This structure is reflected in the kind of (numbered) documents that are being produced. All National Bodies are entitled to submit papers for discussion to the TC of SC of which they are P-member (P for participating), or to receive these if they are only O-member (O voor observing).

Once received by the Secretariat in question, the paper is assigned a number, preceded by an N and the name of the TC and/or SC and/or WG. Consequently, TC99 N 999, TC99/SC9 N 999 and TC99/SC9/WG1 N 999 are different, but uniquely identifiable. A Working Draft (WD) for a standard obtains the status of Committee Draft (CD, formerly DP, Draft Proposal) after acceptation as such by the SC. From then it goes under a number of its own, independent of TC or SC, say CD 999, assigned by the ISO Central Secretariat. After approval by the SC it is called Draft International Standard (DIS), say DIS 999. After approval of the DIS by the TC, the ISO Central Secretariat publishes the International Standard as ISO 999.

The subject of "coding of characters" was trusted to Subcommittee ISO/TC97/SC2, Characters and Information Coding, supervising a number of WGs. TC97 had as its scope what is called (at present) Information Technology. After entering an agreement to cooperate with IEC (International Electrotechnical Commission) ISO turned TC97 into ISO/IEC JTC1 (Joint Technical Committee One). From that time we have ISO/IEC JTC1/SC2.

Next to ISO there are other international organisations active in more limited areas, with standards of their own. There is ECMA, the European Computer Manufacturers Association, CEN, the European Standards Institution. The PTT's have internationally CCITT (recently renamed ITU-TS), and ETSI on the European level. All the standards of these bodies are being developed in close consultation with ISO, but are often ahead in time to the progress of a formal ISO (now ISO/IEC) standard. Finally, IBM has its own Corporate Standards, which are often followed by other manufacturers. It will be clear that so-called "de facto standards" are related to those discussed above as Monopoly banknotes to real money, valuable as long as the game goes on.

Against this background the development of what became eventually ISO 646 for 7-bit coding must be seen. To turn ASCII into an International Standard involved more than putting an ISO stamp on it. Many languages require more letters than English does. All these had to find a proper place in the codetable to the cost of others. A solution was found by allowing options. A number of characters (the larger part) got a fixed position, the room left over could be filled according to a "version", such as specified in a national standard. This implied, however, leaving the principle that a byte is universally interpreted as always meaning the same character. Now the situation was created that a byte typed in as a parenthesis in one country could appear in another as a letter with umlaut.

1In the interest of international communication an International Reference Version (IRV) was introduced. This was (up to 1991) identical to ASCII but for a single character. From political reasons the dollar sign ($) was replaced by the Currency Sign. This incongruency was eliminated in 1991. Between ISO 646 IRV:1991 and ASCII no difference exists anymore.

Table 4 presents the codetable for ISO 646:1991, where the positions that are available for assigning by a national version to characters are indicated by "...". The selection for Norway is given as an example. The second part of the table shows how other countries have used the open positions, as far as they made that known to ISO (by the so-called Registration procedure, see Chapter 8). The version for the Netherlands for which NEN 3500 (since withdrawn) contains a provision, has never been submitted as an Application for Registration.

Compared with ISO 646 IRV (since 1991 identical to ASCII, see therefore the codetable in TABLE 3), a number of special characters are missing in several national versions. It are # $ @ ã \ ü ¬ ` { | } ~ which are yet frequently required by applications. The set of characters in common is often called the "invariant set".

The existence of national versions of the 7-bit code has had, in particular with distributing software, many negative effects, because one had to restrict oneself to the fixed 82 characters ("invariant set"). With programming languages the availability of only a single set of parentheses led to serious problems in design and definition.

TABLE 4

VERSIONS OF ISO 646

ISO 646:1991
 
  0/ 1/ 2/ 3/ 4/ 5/ 6/ 7/
/0 NUL DLE SP 0 ... P ... p
/1 SOH DC1 ! 1 A Q a q
/2 STX DC2 " 2 B R b r
/3 ETX DC3 ... 3 C S c s
/4 EOT DC4 ... 4 D T d t
/5 ENQ NAK % 5 E U e u
/6 ACK SYN & 6 F V f v
/7 BEL ETB ' 7 G W g w
/8 BS CAN ( 8 H X h x
/9 HT EM ) 9 I Y i y
/10 LF SUB * : J Z j z
/11 VT ESC + ; K ... k ...
/12 FF FS , < L ... l ...
/13 CR GS - = M ... m ...
/14 SO RS . > N ... n ...
/15 SI US / ? O _ o DEL

ISO 646:1991 

     0/  1/  2/  3/  4/  5/  6/  7/
   +---+---+---+---+---+---+---+---+
/0 |NUL|DLE| SP| 0 |...| P |...| p |
/1 |SOH|DC1| ! | 1 | A | Q | a | q |
/2 |STX|DC2| " | 2 | B | R | b | r |
/3 |ETX|DC3|...| 3 | C | S | c | s |
/4 |EOT|DC4|...| 4 | D | T | d | t |
/5 |ENQ|NAK| % | 5 | E | U | e | u |
/6 |ACK|SYN| & | 6 | F | V | f | v |
/7 |BEL|ETB| ' | 7 | G | W | g | w |
/8 | BS|CAN| ( | 8 | H | X | h | x |
/9 | HT| EM| ) | 9 | I | Y | i | y |
/10| LF|SUB| * | : | J | Z | j | z |
/11| VT|ESC| + | ; | K |...| k |...|
/12| FF| FS| , | < | L |...| l |...|
/13| CR| GS| - | = | M |...| m |...|
/14| SO| RS| . | > | N |...| n |...|
/15| SI| US| / | ? | O | _ | o |DEL|
   +---+---+---+---+---+---+---+---+


ISO 646 for Norway (N 4551)
 
  0/ 1/ 2/ 3/ 4/ 5/ 6/ 7/
/0 NUL DLE SP 0 @ P ` p
/1 SOH DC1 ! 1 A Q a q
/2 STX DC2 " 2 B R b r
/3 ETX DC3 # 3 C S c s
/4 EOT DC4 $ 4 D T d t
/5 ENQ NAK % 5 E U e u
/6 ACK SYN & 6 F V f v
/7 BEL ETB ' 7 G W g w
/8 BS CAN ( 8 H X h x
/9 HT EM ) 9 I Y i y
/10 LF SUB * : J Z j z
/11 VT ESC + ; K Æ k æ
/12 FF FS , < L Ø l ø
/13 CR GS - = M Å m ]
/14 SO RS . > N ¬ n ¯
/15 SI US / ? O _ o DEL

ISO 646 for Norway (N 4551)

     0/  1/  2/  3/  4/  5/  6/  7/
   +---+---+---+---+---+---+---+---+
/0 |NUL|DLE| SP| 0 | @ | P | ` | p |
/1 |SOH|DC1| ! | 1 | A | Q | a | q |
/2 |STX|DC2| " | 2 | B | R | b | r |
/3 |ETX|DC3| # | 3 | C | S | c | s |
/4 |EOT|DC4| $ | 4 | D | T | d | t |
/5 |ENQ|NAK| % | 5 | E | U | e | u |
/6 |ACK|SYN| & | 6 | F | V | f | v |
/7 |BEL|ETB| ' | 7 | G | W | g | w |
/8 | BS|CAN| ( | 8 | H | X | h | x |
/9 | HT| EM| ) | 9 | I | Y | i | y |
/10| LF|SUB| * | : | J | Z | j | z |
/11| VT|ESC| + | ; | K | Æ | k | æ |
/12| FF| FS| , | < | L | Ø | l | ø |
/13| CR| GS| - | = | M | Å | m | ] |
/14| SO| RS| . | > | N | ¬ | n | ¯ |
/15| SI| US| / | ? | O | _ | o |DEL|
   +---+---+---+---+---+---+---+---+
NATIONAL VERSIONS OF ISO 646

Source: International Register of Coded Character Sets
 
Reg. National Body Code
    2/3 2/4 4/0 5/11 5/12 5/13 7/11 7/12 7/13 5/14 6/0 7/14
  hexadecimal: 23 24 40 5B 5C 5D 7B 7C 7D 5E 60 7E
2 IRV: 1983 # ¤ @ ã \ ü { | } ¬ ` ~
4 UK £ $ @ ã \ ü { | } ¬ ` ~
6 USA, IRV: 1991 # $ @ ã \ ü { | } ¬ ` ~
10 Sweden # ¤ @ Ä Ö Å ä ö ] ¬ ` ¯
11 Sweden # ¤ É Ä Ö Å ä ö ] Ü é å
60 Norway # $ @ Æ Ø Å æ ø ] ¬ ` ¯
15 Italy £ $ § ° ç é à ò è ¬ ù ì
17 Spain £ $ § ¡ Ñ ¿ ° ñ ç ¬ ` ~
85 Spain # $ - ¡ Ñ Ç ´ ñ ç ¿ ` ¨
151 Cuba # ¤ @ ¡ Ñ ü ´ ñ ã ¿ ` ¨
16 Portugal # $ § Ã Ç [ Õ ç õ ¬ ` °
84 Portugal # $ ´ Ã Ç [ Õ ç õ ¬ ` ~
21 Germany   # $ § Ä Ö Ü ä ö å ¬ `
69 France   £ $ à ° ç § é ù è ¬ µ
121 Canada   # $ à â ç ê é ù è î ô
122 Canada # $ à â ç ê é ù è É ô û
86 Hungary   # ¤ Á É Ö Ü é ö å ¬ á
141 Yugoslavia # $ &#65533; - Ð ž Ÿ   Š &#65533;