我有一个用java编码的字符串,使用
data = new String(Base64.getEncoder().encode(encVal), StandardCharsets.UTF_8);我正在接收这个编码的数据作为API响应。我想用base64解码这个拼音。我正在使用
Base64.strict_decode64(data)为了这个。但这是行不通的。有人能帮我吗?
发布于 2019-02-14 18:31:53
您的Java代码正确:
byte[] encVal = "Hello World".getBytes();
String data = new String(Base64.getEncoder().encode(encVal), StandardCharsets.UTF_8);
System.out.println(data); // SGVsbG8gV29ybGQ=使用多个工具(如https://www.base64decode.org/ )可正确解码SGVsbG8gV29ybGQ=。
您观察到垃圾字符正在解码您的值,很可能是由于创建byte[]时出错。您可能需要在创建byte[]时指定正确的编码。
https://stackoverflow.com/questions/54687090
复制相似问题