Indy 9
IdCoderXXE.pas
See Also, Classes, Variables, Constants
Unit: IdCoderXXE.pas

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 can represented by the following encodings and values:

      Value Encoding  Value Encoding
      0     +         32    U
      1     -         33    V
      2     0         34    W
      3     1         35    X
      4     2         36    Y
      5     3         37    Z
      6     4         38    a
      7     5         39    b
      8     6         40    c
      9     7         41    d
      10    8         42    e
      11    9         43    f
      12    A         44    g
      13    B         45    h
      14    C         46    i
      15    D         47    j
      16    E         48    k
      17    F         49    l
      18    G         50    m
      19    H         51    n
      20    I         52    o
      21    J         53    p
      22    K         54    q
      23    L         55    r
      24    M         56    s
      25    N         57    t
      26    O         58    u
      27    P         59    v
      28    Q         60    w
      29    R         61    x
      30    S         62    y
      31    T         63    z

Created with Doc-O-Matic 2 donated to Project JEDI. Commercial license available from the Doc-O-Matic site.