我有一个编码字符串如下:
S0VEQUkgUlVOQ0lUIFZSSU5FIEVOVEVSUFJJU0UgLSBLRyBTSU1QQU5HIDQgU09PSw
使用JavaScriptbtoa()
函数进行编码。这个字符串可以使用JavaScriptatob()
函数正确解码。它应该给出以下解码后的字符串:
KEDAI RUNCIT VRINE ENTERPRISE - KG SIMPANG 4 SOOK
现在我正在开发Android应用程序,我必须解码这个字符串,我使用以下代码解码:
java.util.Base64.getDecoder().decode(encodedstring).toString();
我没有得到正确的解码输出。有人知道是什么问题吗?甚至可以用Java解码吗?
decode(String)
返回byte[]
,您需要使用String
构造函数而不是toString()
方法将其转换为字符串:
byte[] bytes = java.util.Base64.getDecoder().decode(encodedstring);
String s = new String(bytes, java.nio.charset.StandardCharsets.UTF_8);
看起来你需要mime解码器消息
java.util.Base64.Decoder decoder = java.util.Base64.getMimeDecoder();
// Decoding MIME encoded message
String dStr = new String(decoder.decode(encodedstring));
System.out.println("Decoded message: "+dStr);