Subject: Re: bin/2226: minor inaccuracy in uuencode.format(5) manual page
To: None <netbsd-bugs@NetBSD.ORG>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
List: netbsd-bugs
Date: 03/20/1996 17:32:30
> a) uuencode has fallen into disfavor in some circles [...] because it
> doesn't survive some kinds of character-set translation which are
> fairly common.  (ebcdic<->ascii only works if the tables are
> invertable, and iso8859-1<->iso-636-xx almost never works)

You probably mean ISO-646, not 636.  (ISO 636 is a standard for "Bare
solid filler rods for oxy-acetylene and tungsten inert gas arc (TIG)
welding, depositing an unalloyed or low alloyed steel", according to
the ISO web query engine.)

For people who don't know what the problem is, the 646-xx character
sets are the NRCSes, the National Replacement Character Sets.  They
attempt to do some of what 8869-1 did, but within a seven-bit mold.
They do it by hijacking characters in the [ \ ] ^ _ { | } ~ set,
replacing them with characters like o-slash and e-diaeresis.  Since
uuencode uses some of these (usually [ \ ] ^ _), if you run uuencoded
text through a 646-xx -> 8859-1 filter, you end up with 8859-1 text
with high-half characters in it; which characters you get depends on
which 646-xx set you use, and in almost all cases, of course, the
result will not uudecode correctly even under a decoder that blindly
does ((c)-32)&63.

					der Mouse

			    mouse@collatz.mcrcim.mcgill.edu