Open SiteSearch 4.1.1
Final

ORG.oclc.ecat.util
Class UCEncoder

java.lang.Object
  |
  +--ORG.oclc.ecat.util.CharacterEncoder
        |
        +--ORG.oclc.ecat.util.UCEncoder

public class UCEncoder
extends CharacterEncoder

This class implements a robust character encoder. The encoder is designed to convert binary data into printable characters. The characters are assumed to exist but they are not assumed to be ASCII, the complete set is 0-9, A-Z, a-z, "(", and ")". The basic encoding unit is a 3 character atom. It encodes two bytes of data. Bytes are encoded into a 64 character set, the characters were chosen specifically because they appear in all codesets. We don't care what their numerical equivalent is because we use a character array to map them. This is like UUencoding with the dependency on ASCII removed. The three chars that make up an atom are encoded as follows:

      00xxxyyy 00axxxxx 00byyyyy
      00 = leading zeros, all values are 0 - 63
      xxxyyy - Top 3 bits of X, Top 3 bits of Y
      axxxxx - a = X parity bit, xxxxx lower 5 bits of X
      byyyyy - b = Y parity bit, yyyyy lower 5 bits of Y
 
The atoms are arranged into lines suitable for inclusion into an email message or text file. The number of bytes that are encoded per line is 48 which keeps the total line length under 80 chars) Each line has the form(
  *(LLSS)(DDDD)(DDDD)(DDDD)...(CRC)
  Where each (xxx) represents a three character atom.
  (LLSS) - 8 bit length (high byte), and sequence number
           modulo 256;
  (DDDD) - Data byte atoms, if length is odd, last data
           atom has (DD00) (high byte data, low byte 0)
  (CRC)  - 16 bit CRC for the line, includes length,
           sequence, and all data bytes. If there is a
           zero pad byte (odd length) it is _NOT_
           included in the CRC.
 

See Also:
CharacterEncoder, UCDecoder

Fields inherited from class ORG.oclc.ecat.util.CharacterEncoder
pStream
 
Constructor Summary
UCEncoder()
           
 
Methods inherited from class ORG.oclc.ecat.util.CharacterEncoder
encodeBuffer, encodeBuffer, encodeBuffer, readFully
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UCEncoder

public UCEncoder()

Open SiteSearch 4.1.1
Final