我在将电子邮件附件(带有拉丁和西里尔符号的 windows-1251 编码中的简单文本文件)转换为字符串时遇到了麻烦。即我在转换西里尔字母时遇到问题。我将附件文件作为 base64 编码的字符串,如下所示:
所以当我尝试解码它时,我得到了“?” 而不是西里尔符号。
我怎样才能得到正确的西里尔文(俄语)符号而不是“?”
我已经用所有编码尝试过这段代码,但没有任何帮助来获得正确的俄罗斯符号。
BASE64Decoder dec = new BASE64Decoder();
for (String key : Charset.availableCharsets().keySet()) {
System.out.println("K=" + key + " Value:" +
Charset.availableCharsets().get(key));
try {
System.out.println(new String(dec.decodeBuffer(encoded), key));
} catch (Exception e) {
continue;
}
}
事先谢谢你。