ISO 646 alternate representation

Keld J|rn Simonsen keld at login.dkuug.dk
Sat Apr 13 00:21:12 AEST 1991


gwyn at smoke.brl.mil (Doug Gwyn) writes:

>In article <keld.671027491 at dkuugin> keld at login.dkuug.dk (Keld J|rn Simonsen) writes:
>>ISO 9899:1990 supports ISO DIS 646 IRV, not the invariant part of 646.

>I hope you'll explain this, as I thought that ISO 9899:1990 supported
>use of that portion of ISO 646 that was common to all national variants.
>If that is not "the invariant part", then what is?

ISO 646 is very much like ASCII (actually ASCII is the ANSI version
of ISO 646). ISO 646 has defined 12 positions for national use,
these positions you can call the "variant positions".
These 12 characters are: #$@[\]^`{|}~
The remaining 83 graphical codes in ISO 646 are called "the invariant
part" of 646. This is actually what the trigraphs are for: to represent
ISO/ANSI C in invariant 646, which is the greatest common denominator
between national 7-bit character sets.

ISO 646 IRV means International reference version.
Here the 12 positions are defined, currently as something
a little different from ASCII, but it is expected that ISO 646 IRV
will be equivalent to ASCII quite soon.

The ISO C standard supports the invariant 646 via the trigraphs.
Trigraphs were not designed for readability and writability, and
WG14 is looking into a more readable and writable support in C
in the invariant ISO 646 character set.

Keld Simonsen



More information about the Comp.std.c mailing list