Contains classes, constants, and variables used to implement encoders and decoders for the XXEncode encoding scheme.
IdCoderXXE.pas contains classes, constants, and variables used to implement encoders and decoders for the XXEncode encoding scheme. The XXEncode encoding scheme is used to convert binary data into a 7-bit textual representation, and is very simular to the UUEncode encoding scheme.
XXEncode, like Base64, is an encoding mechanism designed to represent arbitrary sequences of byte data in a form that need not be humanly readable. XXEncode was designed as a replacement for an earlier version of UUEncode, which contained an encoding error. XXEncode is little used since the UUEncode alphabet has been enhanced.
XXEncode encoding 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 8bit 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 XXEncode alphabet.
XXEncode differs from Base64 and UUEncode in that it utilizes a different coding table, or alphabet, to represent the encoded output values. The XXEncode Alphabet contains the following encodings and values:
Value |
Encoding |
0 |
+ |
1 |
- |
2 |
0 |
3 |
1 |
4 |
2 |
5 |
3 |
6 |
4 |
7 |
5 |
8 |
6 |
9 |
7 |
10 |
8 |
11 |
9 |
12 |
A |
13 |
B |
14 |
C |
15 |
D |
16 |
E |
17 |
F |
18 |
G |
19 |
H |
20 |
I |
21 |
J |
22 |
K |
23 |
L |
24 |
M |
25 |
N |
26 |
O |
27 |
P |
28 |
Q |
29 |
R |
30 |
S |
31 |
T |
32 |
U |
33 |
V |
34 |
W |
35 |
X |
36 |
Y |
37 |
Z |
38 |
a |
39 |
b |
40 |
c |
41 |
d |
42 |
e |
43 |
f |
44 |
g |
45 |
h |
46 |
i |
47 |
j |
48 |
k |
49 |
l |
50 |
m |
51 |
n |
52 |
o |
53 |
p |
54 |
q |
55 |
r |
56 |
s |
57 |
t |
58 |
u |
59 |
v |
60 |
w |
61 |
x |
62 |
y |
63 |
z |
|
Name |
Description |
|
Implements a decoder for data encoded using the XXEncode algorithm and the XXEncode alphabet. | |
|
Implements support for the XXEncode alphabet and the XXEncode algorithm. |
Name |
Description |
Represents valid characters and their ordinal position in the XXEncode alphabet. |
Name |
Description |
Identifies the decoding table used by TIdDecoderXXE for the XXEncode alphabet. |
|
Class |
Internet Direct (Indy) version 10.1.5
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved. Website http://www.indyproject.org. Post feedback to the Indy Documentation newsgroup. |