|
|
> > PS. Is uuencode and BASE-64 the same or different?
>
> Different.
>
> Thorsten
Thanks.
Don't expect anyone to eloborate on this news group, but any chance of a
link to a suitable description? (I already know BASE-64, it's the other one
I'd like a link for.)
Becuase I'm curiouse.
Andrew.
Post a reply to this message
|
|
|
|
Andrew Coppin <orp### [at] btinternetcom> wrote:
> (I already know BASE-64, it's the other one
> I'd like a link for.)
From the uuencode man page:
The standard output is a text file (encoded in the character
set of the current locale) that begins with the line:
"begin%s%s\n", <mode>, decode_pathname
and ends with the line:
end\n
In both cases, the lines have no preceding or trailing blank
characters.
The algorithm that is used for lines in between begin and
end takes three octets as input and writes four characters
of output by splitting the input at six-bit intervals into
four octets, containing data in the lower six bits only.
These octets are converted to characters by adding a value
of 0x20 to each octet, so that each octet is in the range
0x20-0x5f, and then it is assumed to represent a printable
character. It then will be translated into the corresponding
character codes for the codeset in use in the current
locale. (For example, the octet 0x41, representing A , would
be translated to A in the current codeset, such as 0xc1 if
it were EBCDIC.)
Where the bits of two octets are combined, the least signi-
ficant bits of the first octet are shifted left and combined
with the most significant bits of the second octet shifted
right. Thus the three octets A, B, C are converted into the
four octets:
0x20 + (( A >> 2 ) & 0x3F)
0x20 + (((A << 4) ((B >> 4) & 0xF)) & 0x3F)
0x20 + (((B << 2) ((C >> 6) & 0x3)) & 0x3F)
0x20 + (( C ) & 0x3F)
These octets are then translated into the local character
set.
Each encoded line contains a length character, equal to the
number of characters to be decoded plus 0x20 translated to
the local character set as described above, followed by the
encoded characters. The maximum number of octets to be
encoded on each line is 45.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
|