FileDocCategorySizeDatePackage
UrlBase64.javaAPI DocAndroid 1.5 API3752Wed May 06 22:41:06 BST 2009org.bouncycastle.util.encoders

UrlBase64

public class UrlBase64 extends Object
Convert binary data to and from UrlBase64 encoding. This is identical to Base64 encoding, except that the padding character is "." and the other non-alphanumeric characters are "-" and "_" instead of "+" and "/".

The purpose of UrlBase64 encoding is to provide a compact encoding of binary data that is safe for use as an URL parameter. Base64 encoding does not produce encoded values that are safe for use in URLs, since "/" can be interpreted as a path delimiter; "+" is the encoded form of a space; and "=" is used to separate a name from the corresponding value in an URL parameter.

Fields Summary
private static final Encoder
encoder
Constructors Summary
Methods Summary
public static byte[]decode(byte[] data)
Decode the URL safe base 64 encoded input data - white space will be ignored.

return
a byte array representing the decoded data.

        ByteArrayOutputStream    bOut = new ByteArrayOutputStream();
        
        try
        {
            encoder.decode(data, 0, data.length, bOut);
        }
        catch (IOException e)
        {
            throw new RuntimeException("exception decoding URL safe base64 string: " + e);
        }
        
        return bOut.toByteArray();
    
public static intdecode(byte[] data, java.io.OutputStream out)
decode the URL safe base 64 encoded byte data writing it to the given output stream, whitespace characters will be ignored.

return
the number of bytes produced.

        return encoder.decode(data, 0, data.length, out);
    
public static byte[]decode(java.lang.String data)
decode the URL safe base 64 encoded String data - whitespace will be ignored.

return
a byte array representing the decoded data.

        ByteArrayOutputStream    bOut = new ByteArrayOutputStream();
        
        try
        {
            encoder.decode(data, bOut);
        }
        catch (IOException e)
        {
            throw new RuntimeException("exception decoding URL safe base64 string: " + e);
        }
        
        return bOut.toByteArray();
    
public static intdecode(java.lang.String data, java.io.OutputStream out)
Decode the URL safe base 64 encoded String data writing it to the given output stream, whitespace characters will be ignored.

return
the number of bytes produced.

        return encoder.decode(data, out);
    
public static byte[]encode(byte[] data)
Encode the input data producing a URL safe base 64 encoded byte array.

return
a byte array containing the URL safe base 64 encoded data.

    
                                  
       
            
    
        ByteArrayOutputStream    bOut = new ByteArrayOutputStream();
        
        try
        {
            encoder.encode(data, 0, data.length, bOut);
        }
        catch (IOException e)
        {
            throw new RuntimeException("exception encoding URL safe base64 string: " + e);
        }
        
        return bOut.toByteArray();
    
public static intencode(byte[] data, java.io.OutputStream out)
Encode the byte data writing it to the given output stream.

return
the number of bytes produced.

        return encoder.encode(data, 0, data.length, out);