com.beetstra.jutf7
Class Base64Util

java.lang.Object
  extended by com.beetstra.jutf7.Base64Util

 class Base64Util
extends Object

Represent a base 64 mapping. The 64 characters used in the encoding can be specified, since modified-UTF-7 uses other characters than UTF-7 (',' instead of '/').

The exact type of the arguments and result values is adapted to the needs of the encoder and decoder, as opposed to following a strict interpretation of base 64.

Base 64, as specified in RFC 2045, is an encoding used to encode bytes as characters. In (modified-)UTF-7 however, it is used to encode characters as bytes, using some intermediate steps:

  1. Encode all characters as a 16-bit (UTF-16) integer value
  2. Write this as stream of bytes (most-significant first)
  3. Encode these bytes using (modified) base 64 encoding
  4. Write the thus formed stream of characters as a stream of bytes, using ASCII encoding

Author:
Jaap Beetstra

Constructor Summary
Base64Util(String alphabet)
          Initializes the class with the specified encoding/decoding alphabet.
 
Method Summary
(package private)  boolean contains(char ch)
          Tells whether the alphabet contains the specified character.
(package private)  byte getChar(int sextet)
          Encodes the six bit group as a character.
(package private)  int getSextet(byte ch)
          Returns the integer value of the six bits represented by the specified character.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Base64Util

Base64Util(String alphabet)
Initializes the class with the specified encoding/decoding alphabet.

Parameters:
alphabet -
Throws:
IllegalArgumentException - if alphabet is not 64 characters long or contains characters which are not 7-bit ASCII
Method Detail

getSextet

int getSextet(byte ch)
Returns the integer value of the six bits represented by the specified character.

Parameters:
ch - The character, as a ASCII encoded byte
Returns:
The six bits, as an integer value, or -1 if the byte is not in the alphabet

contains

boolean contains(char ch)
Tells whether the alphabet contains the specified character.

Parameters:
ch - The character
Returns:
true if the alphabet contains ch, false otherwise

getChar

byte getChar(int sextet)
Encodes the six bit group as a character.

Parameters:
sextet - The six bit group to be encoded
Returns:
The ASCII value of the character


Copyright © 2008 sourceforge. All Rights Reserved.