Package org.springframework.util
Class Base64Utils
- java.lang.Object
- org.springframework.util.Base64Utils
public abstract class Base64Utils extends Object
A simple utility class for Base64 encoding and decoding.Adapts to either Java 8's
Base64
class or Apache Commons Codec'sBase64
class. With neither Java 8 nor Commons Codec present,encode(byte[])
/decode(byte[])
calls will throw an IllegalStateException. However, as of Spring 4.2,encodeToString(byte[])
anddecodeFromString(java.lang.String)
will nevertheless work since they can delegate to the JAXB DatatypeConverter as a fallback. However, this does not apply when using the "UrlSafe" methods for RFC 4648 "URL and Filename Safe Alphabet"; a delegate is required.Note: Apache Commons Codec does not add padding (
=
) when encoding with the URL and Filename Safe Alphabet.
Constructor Summary
Constructors Constructor Description Base64Utils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
decode(byte[] src)
Base64-decode the given byte array.static byte[]
decodeFromString(String src)
Base64-decode the given byte array from an UTF-8 String.static byte[]
decodeFromUrlSafeString(String src)
Base64-decode the given byte array from an UTF-8 String using the RFC 4648 "URL and Filename Safe Alphabet".static byte[]
decodeUrlSafe(byte[] src)
Base64-decode the given byte array using the RFC 4648 "URL and Filename Safe Alphabet".static byte[]
encode(byte[] src)
Base64-encode the given byte array.static String
encodeToString(byte[] src)
Base64-encode the given byte array to a String.static String
encodeToUrlSafeString(byte[] src)
Base64-encode the given byte array to a String using the RFC 4648 "URL and Filename Safe Alphabet".static byte[]
encodeUrlSafe(byte[] src)
Base64-encode the given byte array using the RFC 4648 "URL and Filename Safe Alphabet".
Constructor Detail
Base64Utils
public Base64Utils()
Method Detail
encode
public static byte[] encode(byte[] src)
Base64-encode the given byte array.- Parameters:
src
- the original byte array (may benull
)- Returns:
- the encoded byte array (or
null
if the input wasnull
) - Throws:
IllegalStateException
- if Base64 encoding between byte arrays is not supported, i.e. neither Java 8 nor Apache Commons Codec is present at runtime
decode
public static byte[] decode(byte[] src)
Base64-decode the given byte array.- Parameters:
src
- the encoded byte array (may benull
)- Returns:
- the original byte array (or
null
if the input wasnull
) - Throws:
IllegalStateException
- if Base64 encoding between byte arrays is not supported, i.e. neither Java 8 nor Apache Commons Codec is present at runtime
encodeUrlSafe
public static byte[] encodeUrlSafe(byte[] src)
Base64-encode the given byte array using the RFC 4648 "URL and Filename Safe Alphabet".- Parameters:
src
- the original byte array (may benull
)- Returns:
- the encoded byte array (or
null
if the input wasnull
) - Throws:
IllegalStateException
- if Base64 encoding between byte arrays is not supported, i.e. neither Java 8 nor Apache Commons Codec is present at runtime- Since:
- 4.2.4
decodeUrlSafe
public static byte[] decodeUrlSafe(byte[] src)
Base64-decode the given byte array using the RFC 4648 "URL and Filename Safe Alphabet".- Parameters:
src
- the encoded byte array (may benull
)- Returns:
- the original byte array (or
null
if the input wasnull
) - Throws:
IllegalStateException
- if Base64 encoding between byte arrays is not supported, i.e. neither Java 8 nor Apache Commons Codec is present at runtime- Since:
- 4.2.4
encodeToString
public static String encodeToString(byte[] src)
Base64-encode the given byte array to a String.- Parameters:
src
- the original byte array (may benull
)- Returns:
- the encoded byte array as a UTF-8 String (or
null
if the input wasnull
)
decodeFromString
public static byte[] decodeFromString(String src)
Base64-decode the given byte array from an UTF-8 String.- Parameters:
src
- the encoded UTF-8 String (may benull
)- Returns:
- the original byte array (or
null
if the input wasnull
)
encodeToUrlSafeString
public static String encodeToUrlSafeString(byte[] src)
Base64-encode the given byte array to a String using the RFC 4648 "URL and Filename Safe Alphabet".- Parameters:
src
- the original byte array (may benull
)- Returns:
- the encoded byte array as a UTF-8 String (or
null
if the input wasnull
) - Throws:
IllegalStateException
- if Base64 encoding between byte arrays is not supported, i.e. neither Java 8 nor Apache Commons Codec is present at runtime
decodeFromUrlSafeString
public static byte[] decodeFromUrlSafeString(String src)
Base64-decode the given byte array from an UTF-8 String using the RFC 4648 "URL and Filename Safe Alphabet".- Parameters:
src
- the encoded UTF-8 String (may benull
)- Returns:
- the original byte array (or
null
if the input wasnull
) - Throws:
IllegalStateException
- if Base64 encoding between byte arrays is not supported, i.e. neither Java 8 nor Apache Commons Codec is present at runtime