繁体   English   中英

Base64 编码/解码不适用于 Java 1.6 中的特殊字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM