我正在尝试解码一个简单的Base64字符串,但是无法这样做。我目前使用的是org.apache.commons.codec.binary.Base64包。
我使用的测试字符串是:abcdefg,使用PHP YWJjZGVmZw==编码。
这是我目前使用的代码:
Base64 decoder = new Base64();
byte[] decodedBytes = decoder.decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes) + "\n") ; 上面的代码没有抛出错误,但并没有像预期的那样输出解码的字符串。
发布于 2012-07-18 23:16:31
修改您正在使用的包:
import org.apache.commons.codec.binary.Base64;然后像这样使用它:
byte[] decoded = Base64.decodeBase64("YWJjZGVmZw==");
System.out.println(new String(decoded, "UTF-8") + "\n");发布于 2017-07-23 15:17:06
以下代码应适用于最新版本的Apache通用编解码器
byte[] decodedBytes = Base64.getDecoder().decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes));并用于编码
byte[] encodedBytes = Base64.getEncoder().encode(decodedBytes);
System.out.println(new String(encodedBytes));发布于 2019-05-02 04:44:08
如果你不想使用apache,你可以使用Java8:
byte[] decodedBytes = Base64.getDecoder().decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes) + "\n");https://stackoverflow.com/questions/11544568
复制相似问题