|
Internet Direct (Indy) Version 9.0.1 Beta
|
IdCoderUUE.pas contains classes, types, constants, and variables needed to implement coders that use the UUEncode and UUDecode algorithms.
The UUEncode algorithm is designed to encode binary data into a 7-bit textual representation, called UUEncode, as established by UUCP (Unix-to-Unix Copy Program).
UUEncode, like Base64, is an encoding mechanism designed to represent arbitrary sequences of byte data in a form that need not be humanly readable. UUEncode is often used to send EMail attachments in an environment that is not MIME-compliant, and also allows larger files to be divided into multi-part transmissions.
The UUEncode algorithm represents 24-bit groups of input as output strings of 4 encoded characters. Proceeding from left to right, a 24-bit input group is formed by concatenating 3 8-bit input groups. These 24 bits are then treated as 4 concatenated 6-bit groups, each of which is translated into a single digit in the UUEncode alphabet.
UUEncode differs from Base64 encoding by utilizing a different coding table, or alphabet, to represent the encoded output values. The UUEncode Alphabet can represented by the following encodings and values:
Value Encoding Value Encoding
0 ` 33 @
1 ! 34 A
2 " 35 B
3 # 36 C
4 $ 37 D
5 % 38 E
6 & 39 f
7 ' 40 g
8 ' 41 h
9 ( 42 i
10 ) 43 j
11 * 44 k
12 + 45 l
13 , 46 m
14 - 47 n
15 . 48 o
16 / 49 p
17 0 50 q
18 1 51 r
19 2 52 s
20 3 53 t
21 4 54 u
22 5 55 v
23 6 56 w
24 7 57 x
25 8 58 y
26 9 59 z
27 : 60 [
28 ; 61
29 < 62 ]
30 = 63 ^
31 > 64 _
32 ?