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

问题描述 投票:0回答:1

我正在使用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 encoding base64 string-decoding
1个回答
0
投票

我没有Java 1.6,但尝试显式指定编码,而不像这样依赖平台设置。也许会有所帮助。

String decodedString = new String(result, "UTF-8");

如果您共享使用Base64的软件包,出于什么原因,那会很好。如果与xml答案一起使用,可能会有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.