ASCII is a standard _encoding_ of characters as bytes: in other words, a function from byte strings to character strings.
ASCII specifies that, for example, the byte string 100 122 45 45 102 111 111 represents the character string dz--foo. UTF-8 is compatible with ASCII. The UTF-8 function, restricted to ASCII byte strings, is exactly the ASCII function. 100 122 45 45 102 111 111 means dz--foo under UTF-8, just as it does under ASCII. In contrast, if an encoding maps 100 122 45 45 102 111 111 to something other than dz--foo, that encoding is _not_ compatible with ASCII. ``ASCII'' does not mean ``7-bit.'' It is simply not correct to refer to Q-P-style Unicode encodings as ``ASCII compatible.'' ASCII is not merely a set of numbers; it assigns _characters_ to those numbers. The correct phrase is ``7-bit compatible.'' The encoded strings are compatible with 7-bit channels. That's the point of these encodings. ---Dan
