我正在使用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);
结果是:原始字符串互联网不通则]
编码字符串:Vm9zIGZhY3R1cmVzIGltcGF577 + 9ZXMgSW50ZXJuZXQgc29udA ==
已解码:Vos造成了网络故障
问题:在解码字符串时,我得到的是特殊字符“�”而不是“é”
我没有Java 1.6,但尝试显式指定编码,而不像这样依赖平台设置。也许会有所帮助。
String decodedString = new String(result, "UTF-8");
如果您共享使用Base64
的软件包,出于什么原因,那会很好。如果与xml
答案一起使用,可能会有所不同。