Java Base64 编码与解码2025 年 4 月 21 日 | 阅读 5 分钟 Java 提供了一个 Base64 类来处理加密。您可以通过使用提供的各种方法来加密和解密您的数据。您需要在源文件中导入 `java.util.Base64` 来使用它的方法。 此类提供了三种不同的编码器和解码器,可在每个级别加密信息。您可以在以下级别使用这些方法。
基本编码和解码它使用 Java 在 RFC 4648 和 RFC 2045 中指定的 Base64 字母表进行编码和解码操作。编码器不添加任何行分隔符字符。解码器会拒绝包含 Base64 字母表之外字符的数据。
URL 和文件名编码和解码它使用 Java 在 RFC 4648 中指定的 Base64 字母表进行编码和解码操作。编码器不添加任何行分隔符字符。解码器会拒绝包含 Base64 字母表之外字符的数据。
MIME它使用 RFC 2045 中指定的 Base64 字母表进行编码和解码操作。编码输出必须表示为每行不超过 76 个字符,并使用回车符 '\r' 后跟换行符 '\n' 作为行分隔符。编码输出的末尾不添加行分隔符。解码操作会忽略 Base64 字母表中的所有行分隔符或其他字符。
Base64 的嵌套类Class | 描述 |
---|
Base64.Decoder | 此类实现了根据 RFC 4648 和 RFC 2045 指定的 Base64 编码方案进行解码的解码器。 | Base64.Encoder | 此类实现了根据 RFC 4648 和 RFC 2045 指定的 Base64 编码方案进行编码的编码器。 |
Base64 方法方法 | 描述 |
---|
public static Base64.Decoder getDecoder() | 它返回一个使用基本类型的 Base64 编码方案进行解码的 `Base64.Decoder`。 | public static Base64.Encoder getEncoder() | 它返回一个使用基本类型的 Base64 编码方案进行编码的 `Base64.Encoder`。 | public static Base64.Decoder getUrlDecoder() | 它返回一个使用 URL 和文件名安全类型的 Base64 编码方案进行解码的 `Base64.Decoder`。 | public static Base64.Decoder getMimeDecoder() | 它返回一个使用 MIME 类型 Base64 解码方案进行解码的 `Base64.Decoder`。 | public static Base64.Encoder getMimeEncoder() | 它返回一个使用 MIME 类型 Base64 编码方案进行编码的 `Base64.Encoder`。 | public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | 它返回一个使用指定的行长度和行分隔符的 MIME 类型 Base64 编码方案进行编码的 `Base64.Encoder`。 | public static Base64.Encoder getUrlEncoder() | 它返回一个使用 URL 和文件名安全类型的 Base64 编码方案进行编码的 `Base64.Encoder`。 |
Base64.Decoder 方法方法 | 描述 |
---|
public byte[] decode(byte[] src) | 它使用 Base64 编码方案解码输入字节数组中的所有字节,并将结果写入新分配的输出字节数组。返回的字节数组的长度等于结果字节的长度。 | public byte[] decode(String src) | 它使用 Base64 编码方案将 Base64 编码的字符串解码为新分配的字节数组。 | public int decode(byte[] src, byte[] dst) | 它使用 Base64 编码方案解码输入字节数组中的所有字节,并将结果写入给定的输出字节数组,从偏移量 0 开始。 | public ByteBuffer decode(ByteBuffer buffer) | 它使用 Base64 编码方案解码输入字节缓冲区中的所有字节,并将结果写入新分配的 `ByteBuffer`。 | public InputStream wrap(InputStream is) | 它返回一个用于解码 Base64 编码的字节流的输入流。 |
Base64.Encoder 方法方法 | 描述 |
---|
public byte[] encode(byte[] src) | 它使用 Base64 编码方案将指定字节数组中的所有字节编码为新分配的字节数组。返回的字节数组的长度等于结果字节的长度。 | public int encode(byte[] src, byte[] dst) | 它使用 Base64 编码方案将指定字节数组中的所有字节编码,并将结果字节写入给定的输出字节数组,从偏移量 0 开始。 | public String encodeToString(byte[] src) | 它使用 Base64 编码方案将指定的字节数组编码为字符串。 | public ByteBuffer encode(ByteBuffer buffer) | 它使用 Base64 编码方案将指定字节缓冲区中所有剩余的字节编码为新分配的 `ByteBuffer`。返回后,源缓冲区的 `position` 将更新为其 `limit`;其 `limit` 不会改变。返回的输出缓冲区的 `position` 将为零,其 `limit` 将是结果编码字节的数量。 | public OutputStream wrap(OutputStream os) | 它包装一个输出流,用于使用 Base64 编码方案对字节数据进行编码。 | public Base64.Encoder withoutPadding() | 它返回一个编码器实例,该实例的编码方式与当前实例相同,但不会在编码后的字节数据末尾添加任何填充字符。 |
Java Base64 示例:基本编码和解码输出 Encoded byte array: [B@6bc7c054
Encoded byte array written to another array: [B@232204a1
Number of bytes written: 4
Encoded string: SmF2YVRwb2ludA==
Decoded string: JavaTpoint
Java Base64 示例:URL 编码和解码输出 Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw==
Decoded URL: https://tpointtech.cn/java-tutorial/
Java Base64 示例:MIME 编码和解码输出 Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg
d29yaw==
Decoded message: Hello,
You are informed regarding your inconsistency of work
|