Save This Page
Home » openjdk-7 » sun » misc » [javadoc | source]
sun.misc
public class: BASE64Decoder [javadoc | source]
java.lang.Object
   sun.misc.CharacterDecoder
      sun.misc.BASE64Decoder
This class implements a BASE64 Character decoder as specified in RFC1521. This RFC is part of the MIME specification which is published by the Internet Engineering Task Force (IETF). Unlike some other encoding schemes there is nothing in this encoding that tells the decoder where a buffer starts or stops, so to use it you will need to isolate your encoded data into a single chunk and then feed them this decoder. The simplest way to do that is to read all of the encoded data into a string and then use:
     byte    mydata[];
     BASE64Decoder base64 = new BASE64Decoder();

     mydata = base64.decodeBuffer(bufferString);
This will decode the String in bufferString and give you an array of bytes in the array myData. On errors, this class throws a CEFormatException with the following detail strings:
   "BASE64Decoder: Not enough bytes for an atom."
Field Summary
 byte[] decode_buffer     
Method from sun.misc.BASE64Decoder Summary:
bytesPerAtom,   bytesPerLine,   decodeAtom
Methods from sun.misc.CharacterDecoder:
bytesPerAtom,   bytesPerLine,   decodeAtom,   decodeBuffer,   decodeBuffer,   decodeBuffer,   decodeBufferPrefix,   decodeBufferSuffix,   decodeBufferToByteBuffer,   decodeBufferToByteBuffer,   decodeLinePrefix,   decodeLineSuffix,   readFully
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from sun.misc.BASE64Decoder Detail:
 protected int bytesPerAtom() 
    This class has 4 bytes per atom
 protected int bytesPerLine() 
    Any multiple of 4 will do, 72 might be common
 protected  void decodeAtom(PushbackInputStream inStream,
    OutputStream outStream,
    int rem) throws IOException 
    Decode one BASE64 atom into 1, 2, or 3 bytes of data.