Java : Base64 示例
Java 中的 Base64 (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 Base64 方法的代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
此类仅包含用于获取 Base64 编码方案的编码器和解码器的静态方法。此类的实现支持 RFC 4648 和 RFC 2045 中指定的以下 Base64 类型。 (机器翻译)
final var encoder = Base64.getEncoder();
final byte[] src = {1, 2, 3, 4, 5, 6, 7};
final var dst = encoder.encodeToString(src);
System.out.println(dst); // AQIDBAUGBw==
final var decoder = Base64.getDecoder();
final var decoded = decoder.decode(dst);
System.out.println(Arrays.toString(decoded)); // [1, 2, 3, 4, 5, 6, 7]
Methods
static Base64.Decoder getDecoder ()
返回使用基本类型 base64 编码方案进行解码的 Base64.Decoder。 (机器翻译)
final var encoder = Base64.getEncoder();
final byte[] src = {1, 2, 3, 4, 5, 6, 7};
final var dst = encoder.encodeToString(src);
System.out.println(dst); // AQIDBAUGBw==
final var decoder = Base64.getDecoder();
final var decoded = decoder.decode(dst);
System.out.println(Arrays.toString(decoded)); // [1, 2, 3, 4, 5, 6, 7]
static Base64.Encoder getEncoder ()
返回使用基本类型 base64 编码方案进行编码的 Base64.Encoder。 (机器翻译)
final var encoder = Base64.getEncoder();
final byte[] src = {1, 2, 3, 4, 5, 6, 7};
final var dst = encoder.encodeToString(src);
System.out.println(dst); // AQIDBAUGBw==
final var decoder = Base64.getDecoder();
final var decoded = decoder.decode(dst);
System.out.println(Arrays.toString(decoded)); // [1, 2, 3, 4, 5, 6, 7]
static Base64.Decoder getMimeDecoder ()
返回使用 MIME 类型 base64 解码方案进行解码的 Base64.Decoder。 (机器翻译)
final var src = new byte[130];
for (int i = 0; i < src.length; i++) {
src[i] = (byte) (i % 100);
}
// [0, 1, 2, 3, 4, ... 96, 97, 98, 99, 0, 1, 2, ... 25, 26, 27, 28, 29]
System.out.println(Arrays.toString(src));
{
final var encoder = Base64.getMimeEncoder();
final var dst = encoder.encodeToString(src);
// The encoder for MIME results lines of no more than 76 characters each.
// AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
// OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiYwABAgMEBQYHCAkKCwwN
// Dg8QERITFBUWFxgZGhscHQ==
System.out.println(dst);
final var decoder = Base64.getMimeDecoder();
final var decoded = decoder.decode(dst);
System.out.println(Arrays.equals(src, decoded)); // true
}
{
final var encoder = Base64.getEncoder();
final var dst = encoder.encodeToString(src);
// The normal encoder results one line.
// AAECAwQFBgc ... xgZGhscHQ==
System.out.println(dst);
}
static Base64.Encoder getMimeEncoder ()
返回使用 MIME 类型 base64 编码方案进行编码的 Base64.Encoder。 (机器翻译)
final var src = new byte[130];
for (int i = 0; i < src.length; i++) {
src[i] = (byte) (i % 100);
}
// [0, 1, 2, 3, 4, ... 96, 97, 98, 99, 0, 1, 2, ... 25, 26, 27, 28, 29]
System.out.println(Arrays.toString(src));
{
final var encoder = Base64.getMimeEncoder();
final var dst = encoder.encodeToString(src);
// The encoder for MIME results lines of no more than 76 characters each.
// AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
// OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiYwABAgMEBQYHCAkKCwwN
// Dg8QERITFBUWFxgZGhscHQ==
System.out.println(dst);
final var decoder = Base64.getMimeDecoder();
final var decoded = decoder.decode(dst);
System.out.println(Arrays.equals(src, decoded)); // true
}
{
final var encoder = Base64.getEncoder();
final var dst = encoder.encodeToString(src);
// The normal encoder results one line.
// AAECAwQFBgc ... xgZGhscHQ==
System.out.println(dst);
}
static Base64.Encoder getMimeEncoder (int lineLength, byte[] lineSeparator)
返回使用具有指定行长度和行分隔符的 MIME 类型 base64 编码方案进行编码的 Base64.Encoder。 (机器翻译)
final byte[] src = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
final var encoder = Base64.getMimeEncoder(8, " ".getBytes());
final var dst = encoder.encodeToString(src);
// AQIDBAUG BwgJCgsM DQ==
System.out.println(dst);
static Base64.Decoder getUrlDecoder ()
返回使用 URL 和 Filename 安全类型 base64 编码方案进行解码的 Base64.Decoder。 (机器翻译)
final byte[] src = {105, -65, -65, 113};
{
// The normal encoder.
final var encoder = Base64.getEncoder();
final var dst = encoder.encodeToString(src);
// ab+/cQ==
System.out.println(dst);
}
{
// The encoder for URL and Filename safe.
final var encoder = Base64.getUrlEncoder();
final var dst = encoder.encodeToString(src);
// ab-_cQ==
System.out.println(dst);
final var decoder = Base64.getUrlDecoder();
final var decoded = decoder.decode(dst);
// [105, -65, -65, 113]
System.out.println(Arrays.toString(decoded));
}
static Base64.Encoder getUrlEncoder ()
返回使用 URL 和 Filename 安全类型 base64 编码方案进行编码的 Base64.Encoder。 (机器翻译)
final byte[] src = {105, -65, -65, 113};
{
// The normal encoder.
final var encoder = Base64.getEncoder();
final var dst = encoder.encodeToString(src);
// ab+/cQ==
System.out.println(dst);
}
{
// The encoder for URL and Filename safe.
final var encoder = Base64.getUrlEncoder();
final var dst = encoder.encodeToString(src);
// ab-_cQ==
System.out.println(dst);
final var decoder = Base64.getUrlDecoder();
final var decoded = decoder.decode(dst);
// [105, -65, -65, 113]
System.out.println(Arrays.toString(decoded));
}
相关文章
- API 示例