Package org.aoju.bus.core.codec
Class Base64
java.lang.Object
org.aoju.bus.core.codec.Base64
Base64工具类,提供Base64的编码和解码方案
base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符,
也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]decode(byte[] in) 解码Base64static byte[]decode(byte[] in, int pos, int length) 解码Base64static voiddecode(char[] ch, int off, int len, OutputStream out) 解码Base64static byte[]decode(CharSequence base64) base64解码static StringdecodeStr(CharSequence source) base64解码static StringdecodeStr(CharSequence source, String charset) base64解码static StringdecodeStr(CharSequence source, Charset charset) base64解码static StringdecodeStrGbk(CharSequence source) base64解码static FiledecodeToFile(CharSequence base64, File destFile) base64解码static voiddecodeToStream(CharSequence base64, OutputStream out, boolean isCloseOut) base64解码static Stringencode(byte[] source) base64编码static byte[]encode(byte[] arr, boolean lineSep) 编码为Base64,非URL安全的static byte[]encode(byte[] arr, boolean isMultiLine, boolean isUrlSafe) 编码为Base64 如果isMultiLine为true,则每76个字符一个换行符,否则在一行显示static voidencode(byte[] src, int srcPos, int srcLen, char[] dest, int destPos) 编码为Base64static Stringbase64编码static Stringencode(InputStream in) base64编码static Stringencode(CharSequence source) base64编码static Stringencode(CharSequence source, String charset) base64编码static Stringencode(CharSequence source, Charset charset) base64编码static StringencodeStr(byte[] arr, boolean isMultiLine, boolean isUrlSafe) 编码为Base64字符串 如果isMultiLine为true,则每76个字符一个换行符,否则在一行显示static StringencodeUrlSafe(byte[] source) base64编码,URL安全的static StringencodeUrlSafe(File file) base64编码,URL安全的static Stringbase64编码,URL安全的static StringencodeUrlSafe(CharSequence source) base64编码,URL安全static StringencodeUrlSafe(CharSequence source, Charset charset) base64编码,URL安全的static StringencodeWithoutPadding(byte[] source) base64编码,不进行padding(末尾不会填充'=')static StringencodeWithoutPadding(CharSequence source, String charset) base64编码,不进行padding(末尾不会填充'=')static booleanisBase64(byte[] base64Bytes) 检查是否为Base64static booleanisBase64(CharSequence base64) 检查是否为Base64static booleanisBase64Code(byte octet) 给定的字符是否为Base64字符
-
Constructor Details
-
Base64
public Base64()
-
-
Method Details
-
encode
public static byte[] encode(byte[] arr, boolean lineSep) 编码为Base64,非URL安全的- Parameters:
arr- 被编码的数组lineSep- 在76个char之后是CRLF还是EOF- Returns:
- 编码后的bytes
-
encode
base64编码- Parameters:
source- 被编码的base64字符串- Returns:
- 被加密后的字符串
-
encodeUrlSafe
base64编码,URL安全- Parameters:
source- 被编码的base64字符串- Returns:
- 被加密后的字符串
-
encode
base64编码- Parameters:
source- 被编码的base64字符串charset- 字符集- Returns:
- 被加密后的字符串
-
encodeWithoutPadding
base64编码,不进行padding(末尾不会填充'=')- Parameters:
source- 被编码的base64字符串charset- 编码- Returns:
- 被加密后的字符串
-
encode
base64编码- Parameters:
source- 被编码的base64字符串charset- 字符集- Returns:
- 被加密后的字符串
-
encodeUrlSafe
base64编码,URL安全的- Parameters:
source- 被编码的base64字符串charset- 字符集- Returns:
- 被加密后的字符串
-
encode
base64编码- Parameters:
source- 被编码的base64字符串- Returns:
- 被加密后的字符串
-
encodeWithoutPadding
base64编码,不进行padding(末尾不会填充'=')- Parameters:
source- 被编码的base64字符串- Returns:
- 被加密后的字符串
-
encodeUrlSafe
base64编码,URL安全的- Parameters:
source- 被编码的base64字符串- Returns:
- 被加密后的字符串
-
encode
base64编码- Parameters:
in- 被编码base64的流(一般为图片流或者文件流)- Returns:
- 被加密后的字符串
-
encodeUrlSafe
base64编码,URL安全的- Parameters:
in- 被编码base64的流(一般为图片流或者文件流)- Returns:
- 被加密后的字符串
-
encode
base64编码- Parameters:
file- 被编码base64的文件- Returns:
- 被加密后的字符串
-
encodeUrlSafe
base64编码,URL安全的- Parameters:
file- 被编码base64的文件- Returns:
- 被加密后的字符串
-
encodeStr
编码为Base64字符串 如果isMultiLine为true,则每76个字符一个换行符,否则在一行显示- Parameters:
arr- 被编码的数组isMultiLine- 在76个char之后是CRLF还是EOFisUrlSafe- 是否使用URL安全字符,一般为false- Returns:
- 编码后的bytes
-
encode
public static byte[] encode(byte[] arr, boolean isMultiLine, boolean isUrlSafe) 编码为Base64 如果isMultiLine为true,则每76个字符一个换行符,否则在一行显示- Parameters:
arr- 被编码的数组isMultiLine- 在76个char之后是CRLF还是EOFisUrlSafe- 是否使用URL安全字符,一般为false- Returns:
- 编码后的bytes
-
encode
public static void encode(byte[] src, int srcPos, int srcLen, char[] dest, int destPos) 编码为Base64- Parameters:
src- 源字符信息srcPos- 开始位置srcLen- 长度dest- 字符信息destPos- 开始位置
-
decodeStrGbk
base64解码- Parameters:
source- 被解码的base64字符串- Returns:
- 解码后的字符串
-
decodeStr
base64解码- Parameters:
source- 被解码的base64字符串- Returns:
- 解码后的字符串
-
decodeStr
base64解码- Parameters:
source- 被解码的base64字符串charset- 字符集- Returns:
- 解码后的字符串
-
decodeStr
base64解码- Parameters:
source- 被解码的base64字符串charset- 字符集- Returns:
- 解码后的字符串
-
decodeToFile
base64解码- Parameters:
base64- 被解码的base64字符串destFile- 目标文件- Returns:
- 目标文件
-
decodeToStream
base64解码- Parameters:
base64- 被解码的base64字符串out- 写出到的流isCloseOut- 是否关闭输出流
-
decode
base64解码- Parameters:
base64- 被解码的base64字符串- Returns:
- 解码后的bytes
-
decode
public static byte[] decode(byte[] in) 解码Base64- Parameters:
in- 输入- Returns:
- 解码后的bytes
-
decode
public static byte[] decode(byte[] in, int pos, int length) 解码Base64- Parameters:
in- 输入pos- 开始位置length- 长度- Returns:
- 解码后的bytes
-
decode
解码Base64- Parameters:
ch- 字符信息off- 结束为止len- 长度out- 输出流
-
isBase64
检查是否为Base64- Parameters:
base64- Base64的bytes- Returns:
- 是否为Base64
-
isBase64
public static boolean isBase64(byte[] base64Bytes) 检查是否为Base64- Parameters:
base64Bytes- Base64的bytes- Returns:
- 是否为Base64
-
isBase64Code
public static boolean isBase64Code(byte octet) 给定的字符是否为Base64字符- Parameters:
octet- 被检查的字符- Returns:
- 是否为Base64字符
-