我正在尝试解码一个简单的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") ;
Run Code Online (Sandbox Code Playgroud)
上面的代码不会抛出错误,而是不会按预期输出解码后的字符串.
RTB*_*RTB 65
修改您正在使用的包:
import org.apache.commons.codec.binary.Base64;
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
byte[] decoded = Base64.decodeBase64("YWJjZGVmZw==");
System.out.println(new String(decoded, "UTF-8") + "\n");
Run Code Online (Sandbox Code Playgroud)
小智 11
如果不想用apache,可以用Java8:
byte[] decodedBytes = Base64.getDecoder().decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes) + "\n");
Run Code Online (Sandbox Code Playgroud)
以下内容适用于最新版本的Apache通用编解码器
byte[] decodedBytes = Base64.getDecoder().decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes));
Run Code Online (Sandbox Code Playgroud)
并用于编码
byte[] encodedBytes = Base64.getEncoder().encode(decodedBytes);
System.out.println(new String(encodedBytes));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
137880 次 |
最近记录: |