Class Base64

java.lang.Object
org.miaixz.bus.core.codec.binary.Base64

public class Base64 extends Object
Base64工具类,提供Base64的编码和解码方案 base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符, 也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。
Since:
Java 17+
Author:
Kimi Liu
  • 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

      public static String encode(CharSequence source)
      base64编码
      Parameters:
      source - 被编码的base64字符串
      Returns:
      被加密后的字符串
    • encodeUrlSafe

      public static String encodeUrlSafe(CharSequence source)
      base64编码,URL安全
      Parameters:
      source - 被编码的base64字符串
      Returns:
      被加密后的字符串
    • encode

      public static String encode(CharSequence source, Charset charset)
      base64编码
      Parameters:
      source - 被编码的base64字符串
      charset - 字符集
      Returns:
      被编码后的字符串
    • encodeUrlSafe

      public static String encodeUrlSafe(CharSequence source, Charset charset)
      base64编码,URL安全的
      Parameters:
      source - 被编码的base64字符串
      charset - 字符集
      Returns:
      被加密后的字符串
    • encode

      public static String encode(byte[] source)
      base64编码
      Parameters:
      source - 被编码的base64字符串
      Returns:
      被加密后的字符串
    • encodeWithoutPadding

      public static String encodeWithoutPadding(byte[] source)
      base64编码,不进行padding(末尾不会填充'=')
      Parameters:
      source - 被编码的base64字符串
      Returns:
      被加密后的字符串
    • encodeUrlSafe

      public static String encodeUrlSafe(byte[] source)
      base64编码,URL安全的
      Parameters:
      source - 被编码的base64字符串
      Returns:
      被加密后的字符串
    • encode

      public static String encode(InputStream in)
      base64编码
      Parameters:
      in - 被编码base64的流(一般为图片流或者文件流)
      Returns:
      被加密后的字符串
    • encodeUrlSafe

      public static String encodeUrlSafe(InputStream in)
      base64编码,URL安全的
      Parameters:
      in - 被编码base64的流(一般为图片流或者文件流)
      Returns:
      被加密后的字符串
    • encode

      public static String encode(File file)
      base64编码
      Parameters:
      file - 被编码base64的文件
      Returns:
      被加密后的字符串
    • encodeUrlSafe

      public static String encodeUrlSafe(File file)
      base64编码,URL安全的
      Parameters:
      file - 被编码base64的文件
      Returns:
      被加密后的字符串
    • encode

      public static void encode(byte[] src, int srcPos, int srcLen, char[] dest, int destPos)
      编码为Base64
      Parameters:
      src - 源字符信息
      srcPos - 开始位置
      srcLen - 长度
      dest - 字符信息
      destPos - 开始位置
    • decodeString

      public static String decodeString(CharSequence source)
      base64解码
      Parameters:
      source - 被解码的base64字符串
      Returns:
      被加密后的字符串
    • decodeString

      public static String decodeString(CharSequence source, Charset charset)
      base64解码
      Parameters:
      source - 被解码的base64字符串
      charset - 字符集
      Returns:
      被加密后的字符串
    • decodeToFile

      public static File decodeToFile(CharSequence base64, File destFile)
      base64解码
      Parameters:
      base64 - 被解码的base64字符串
      destFile - 目标文件
      Returns:
      目标文件
    • decodeToStream

      public static void decodeToStream(CharSequence base64, OutputStream out, boolean isCloseOut)
      base64解码
      Parameters:
      base64 - 被解码的base64字符串
      out - 写出到的流
      isCloseOut - 是否关闭输出流
    • decode

      public static byte[] decode(CharSequence base64)
      base64解码
      Parameters:
      base64 - 被解码的base64字符串
      Returns:
      解码后的bytes
    • decode

      public static byte[] decode(byte[] in)
      解码Base64
      Parameters:
      in - 输入
      Returns:
      解码后的bytes
    • decode

      public static void decode(char[] ch, int off, int len, OutputStream out)
      解码Base64
      Parameters:
      ch - 字符信息
      off - 结束为止
      len - 长度
      out - 输出流
    • isTypeBase64

      public static boolean isTypeBase64(CharSequence base64)
      检查是否为Base64
      Parameters:
      base64 - Base64的bytes
      Returns:
      是否为Base64
    • isTypeBase64

      public static boolean isTypeBase64(byte[] base64Bytes)
      检查是否为Base64格式
      Parameters:
      base64Bytes - Base64的bytes
      Returns:
      是否为Base64