当前位置: 首页 > 面试题库 >

如何用Java解码Base64数据?

邴宏大
2023-03-14
问题内容

如何用Java解码Base64数据?


问题答案:

从v6开始,Java SE随JAXB一起提供。javax.xml.bind.DatatypeConverter有静态方法可以简化这一过程。

请参阅parseBase64Binary()和printBase64Binary()。

从Java 8开始,已经有官方支持的用于Base64编码和解码的API。随着时间的流逝,它可能会成为默认选择。

该API包括该类java.util.Base64及其嵌套类。它支持三种不同的类型:基本,URL安全和MIME。

使用“基本”编码的示例代码:

import java.util.Base64;

byte[] bytes = "Hello, World!".getBytes("UTF-8");
String encoded = Base64.getEncoder().encodeToString(bytes);
byte[] decoded = Base64.getDecoder().decode(encoded);

的文档java.util.Base64还提供了几种其他方法来配置编码器和解码器,以及使用不同的类作为输入和输出(字节数组,字符串,ByteBuffers,java.html" target="_blank">io流)。



 类似资料:
  • 问题内容: 我有一个Base64编码的图像。用Java解码的最佳方法是什么?希望仅使用Sun Java 6附带的库 问题答案: 从v6开始,Java SE随JAXB一起提供。有静态方法可以简化这一过程。请参阅和。

  • new String(..)转字符串的时候是怎么知道 -28, -72, -83 为一组的呢? 是字符编码有什么规则吗?( 0x**---- ,(byte) ** 是负数的就是3个字节一组这样?)

  • 我对Java编程很陌生,并尝试制作基于Base64和UTF-8的解码器。 我目前正在尝试让解码器从控制台获取输入,然后执行解码并在控制台中显示结果。我对如何通过“public static byte[]decode(String src)”将输入解码,然后在控制台中打印出来感到有点迷茫。 到目前为止,我得到的代码如下:

  • 介绍 Base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符,也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。 使用 String a = "伦家是一个非常长的字符串"; //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy String encode = Base64.en

  • 问题 你需要使用Base64格式解码或编码二进制数据。 解决方案 base64 模块中有两个函数 b64encode() and b64decode() 可以帮你解决这个问题。例如; >>> # Some byte data >>> s = b'hello' >>> import base64 >>> # Encode as Base64 >>> a = base64.b64encode(s)

  • 问题内容: 我有一些大型的base64编码数据(存储在hadoop文件系统中的快照文件中)。该数据最初是压缩的文本数据。我需要能够读取此编码数据的大块,对其进行解码,然后将其刷新到GZIPOutputStream。 关于如何执行此操作而不是将整个base64数据加载到数组中并调用Base64.decodeBase64(byte [])的任何想法? 如果我读了直到’\ r \ n’分隔符并逐行解码的