[英]Base64 encoding/decoding not working with special characters in Java 1.6
我正在使用 JDK 1.6 并在尝试编码/解码法语单词时遇到问题。 我的代码在:
String setText = "Vos factures impayées Internet sont";
String encodedText= Base64.encode(setText.getBytes());
Base64.decode(encodedText);
System.out.println("Encoded String: " + encodedText);
byte[] result = Base64.decode(encodedText);
String decodedString = new String(result);
System.out.println("Decoded: " + decodedString);
结果是: Original String Vos factures impayées Internet sont
编码字符串:Vm9zIGZhY3R1cmVzIGltcGF577+9ZXMgSW50ZXJuZXQgc29udA==
解码:Vos factures impay�es Internet sont
问题:在解码字符串时,我得到“�”特殊字符而不是“é”
我没有 java 1.6 但尝试明确指定编码不依赖于平台设置,像这样。 也许会有所帮助。
String decodedString = new String(result, "UTF-8");
如果您从哪个 package 分享您正在使用Base64
以及出于什么原因,那就太好了? 如果您将它与xml
一起使用,答案可能会有所不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.