Class Base64
java.lang.Object
org.docx4j.org.apache.xml.security.utils.Base64
Implementation of MIME's Base64 encoding and decoding conversions.
Optimized code. (raw version taken from oreilly.jonathan.util,
and currently org.apache.xerces.ds.util.Base64)
- Author:
- Raul Benito(Of the xerces copy, and little adaptations)., Anli Shundi, Christian Geuer-Pollmann
- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic final byte[]decode(byte[] base64) Method decodestatic final voiddecode(byte[] base64Data, OutputStream os) Decodes Base64 data into outputstreamprotected static final voiddecode(byte[] base64Data, OutputStream os, int len) static final byte[]decode(BufferedReader reader) Base64 decode the lines from the reader and return an InputStream with the bytes.static final voiddecode(InputStream is, OutputStream os) Decodes Base64 data into outputstreamstatic final byte[]Decodes Base64 data into octetsstatic final voiddecode(String base64Data, OutputStream os) Decodes Base64 data into outputstreamstatic final byte[]Method decode Takes theTextchildren of the Element and interprets them as input for theBase64.decode()function.static final BigIntegerdecodeBigIntegerFromElement(Element element) Method decodeBigIntegerFromElementstatic BigIntegerdecodeBigIntegerFromString(String base64str) Decode a base 64 string into aBigIntegerprotected static final byte[]decodeInternal(byte[] base64Data, int len) static final Stringencode(byte[] binaryData) Encode a byte array and fold lines at the standard 76th character unless ignore line breaks property is set.static final Stringencode(byte[] binaryData, int length) Encode a byte array in Base64 format and return an optionally wrapped line.static final Stringencode(BigInteger big) Encode in Base64 the givenBigInteger.static final byte[]encode(BigInteger big, int bitlen) Returns a byte-array representation of aBigInteger.static final ElementencodeToElement(Document doc, String localName, byte[] bytes) Method encodeToElementstatic final voidfillElementWithBigInteger(Element element, BigInteger biginteger) This method takes an (empty) Element and a BigInteger and adds the base64 encoded BigInteger to the Element.protected static final intgetBytesInternal(String s, byte[] result) protected static final booleanisPad(byte octet) protected static final booleanisWhiteSpace(byte octet) protected static final intremoveWhiteSpace(byte[] data) remove WhiteSpace from MIME containing encoded Base64 data.
-
Field Details
-
BASE64DEFAULTLENGTH
public static final int BASE64DEFAULTLENGTHField BASE64DEFAULTLENGTH- See Also:
-
-
Method Details
-
encode
Encode in Base64 the givenBigInteger.- Parameters:
big-- Returns:
- String with Base64 encoding
-
encode
Returns a byte-array representation of aBigInteger. No sign-bit is output. N.B.:BigInteger's toByteArray returns eventually longer arrays because of the leading sign-bit.- Parameters:
big-BigIntegerto be convertedbitlen-intthe desired length in bits of the representation- Returns:
- a byte array with
bitlenbits ofbig
-
decodeBigIntegerFromElement
public static final BigInteger decodeBigIntegerFromElement(Element element) throws Base64DecodingException Method decodeBigIntegerFromElement- Parameters:
element-- Returns:
- the biginteger obtained from the node
- Throws:
Base64DecodingException
-
decodeBigIntegerFromString
public static BigInteger decodeBigIntegerFromString(String base64str) throws Base64DecodingException Decode a base 64 string into aBigInteger- Parameters:
base64str- Base 64 encoded string.- Returns:
- a decoded BigInteger
- Throws:
Base64DecodingException
-
fillElementWithBigInteger
This method takes an (empty) Element and a BigInteger and adds the base64 encoded BigInteger to the Element.- Parameters:
element-biginteger-
-
decode
Method decode Takes theTextchildren of the Element and interprets them as input for theBase64.decode()function.- Parameters:
element-- Returns:
- the byte obtained of the decoding the element $todo$ not tested yet
- Throws:
Base64DecodingException
-
encodeToElement
Method encodeToElement- Parameters:
doc-localName-bytes-- Returns:
- an Element with the base64 encoded in the text.
-
decode
Method decode- Parameters:
base64-- Returns:
- the UTF bytes of the base64
- Throws:
Base64DecodingException
-
encode
Encode a byte array and fold lines at the standard 76th character unless ignore line breaks property is set.- Parameters:
binaryData-byte[]to be base64 encoded- Returns:
- the
Stringwith encoded data
-
decode
public static final byte[] decode(BufferedReader reader) throws IOException, Base64DecodingException Base64 decode the lines from the reader and return an InputStream with the bytes.- Parameters:
reader-- Returns:
- InputStream with the decoded bytes
- Throws:
IOException- passes what the reader throwsIOExceptionBase64DecodingException
-
isWhiteSpace
protected static final boolean isWhiteSpace(byte octet) -
isPad
protected static final boolean isPad(byte octet) -
encode
Encode a byte array in Base64 format and return an optionally wrapped line.- Parameters:
binaryData-byte[]data to be encodedlength-intlength of wrapped lines; No wrapping if less than 4.- Returns:
- a
Stringwith encoded data
-
decode
Decodes Base64 data into octets- Parameters:
encoded- String containing base64 encoded data- Returns:
- byte array containing the decoded data
- Throws:
Base64DecodingException- if there is a problem decoding the data
-
getBytesInternal
-
decodeInternal
protected static final byte[] decodeInternal(byte[] base64Data, int len) throws Base64DecodingException - Throws:
Base64DecodingException
-
decode
public static final void decode(String base64Data, OutputStream os) throws Base64DecodingException, IOException Decodes Base64 data into outputstream- Parameters:
base64Data- String containing Base64 dataos- the outputstream- Throws:
IOExceptionBase64DecodingException
-
decode
public static final void decode(byte[] base64Data, OutputStream os) throws Base64DecodingException, IOException Decodes Base64 data into outputstream- Parameters:
base64Data- Byte array containing Base64 dataos- the outputstream- Throws:
IOExceptionBase64DecodingException
-
decode
protected static final void decode(byte[] base64Data, OutputStream os, int len) throws Base64DecodingException, IOException - Throws:
Base64DecodingExceptionIOException
-
decode
public static final void decode(InputStream is, OutputStream os) throws Base64DecodingException, IOException Decodes Base64 data into outputstream- Parameters:
is- containing Base64 dataos- the outputstream- Throws:
IOExceptionBase64DecodingException
-
removeWhiteSpace
protected static final int removeWhiteSpace(byte[] data) remove WhiteSpace from MIME containing encoded Base64 data.- Parameters:
data- the byte array of base64 data (with WS)- Returns:
- the new length
-