| |||||||||
ISO 646 is an ISO standard that specifies a 7 bit character code from which several national standards are derived, the best known of which is ASCII. Since the portion of ISO 646 shared by all countries specified only the letters used in the English alphabet, other countries using the latin alphabet with extensions needed to create national variants of ISO 646 to be able to use their native languages. Since universal acceptance of the 8 bit byte did not exist at that time, the national characters had to be made fit within the constraints of 7 bits, meaning that some characters that appear in ASCII do not appear in other national variants of ISO 646.
Some national variants of ISO 646 are:
| Code | National standard | Country |
|---|---|---|
| CA | CSA Z243.4 | Canada |
| DE | DIN 66003 | Germany |
| DK | DS 2089 | Denmark |
| GB | BS 4730 | Great Britain |
| HU | MSZ 7795.3 | Hungary |
| NO | NS 4551-1 | Norway |
| SE | SEN 850200_B | Sweden |
| US | ANSI X3.4 | United States |
| YU | JUS I.B1.002 | former Yugoslavia |
The specifics of the changes for some of these variants are given in this table:
| Binary | Decimal | Hex | ASCII | DE | DK/NO | GB | HU | SE | YU |
|---|---|---|---|---|---|---|---|---|---|
| 0010 0011 | 35 | 23 | # | # | # | £ | # | # | # |
| 0010 0100 | 36 | 24 | $ | $ | $ | $ | ¤ | ¤ | $ |
| 0100 0000 | 64 | 40 | @ | § | @ | @ | Á | @ | Ž |
| 0101 1011 | 91 | 5B | [ | Ä | Æ | [ | É | Ä | Š |
| 0101 1100 | 92 | 5C | \ | Ö | Ø | \ | Ö | Ö | Đ |
| 0101 1101 | 93 | 5D | ] | Ü | Å | ] | Ü | Å | Ć |
| 0101 1110 | 94 | 5E | ^ | ^ | ^ | ^ | ^ | ^ | Č |
| 0110 0000 | 96 | 60 | ` | ` | ` | ` | á | ` | ž |
| 0111 1011 | 123 | 7B | { | ä | æ | { | é | ä | š |
| 0111 1100 | 124 | 7C | | | ö | ø | | | ö | ö | đ |
| 0111 1101 | 125 | 7D | } | ü | å | } | ü | å | ć |
| 0111 1110 | 126 | 7E | ~ | ß | ~ | ~ | ˝ | ~ | č |
Later, when 8 bit characters sets gained more acceptance, ISO-8859-1 and ISO-8859-2 became the preferred method of coding these variants.