嗨 我有一个场景,我需要转换默认字符集应该被重写为UTF-8。我正在下课。但是我没有得到预期的产出。因为我使用的是具有默认UTF-8字符集的unix系统,所以我比较了那里的结果。我在这个计划的某个地方错了吗?字符集转换Java
public class CharsetDisplay {
public static void main(String[] args) {
System.out.println(Charset.defaultCharset().name());
System.out.println(Charset.isSupported("UTF-8"));
final Charset UTF8_CHARSET = Charset.forName("UTF-8");
try {
byte[] byteArray = new byte[] {34,34,0};
String str = new String(byteArray,UTF8_CHARSET);
System.out.println("String*** "+str);
System.out.println("String to Hex *** "+stringToHex(str));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
打印输出
windows-1252
true
String*** ""
注“”后的字符串输出我有一个SPL字符,这是我没有在UNIX ENV得到
哎呀对不起的代码片段丢失以上格式..只是#1删除所有新行:( – javanerd 2010-11-05 12:01:21
你想要做什么?UTF-8中的字节'34 34 00'意味着'双引号双引号null',这就是你得到的。 – 2010-11-05 12:09:33
因为我看到输出在eclipse中,我在双引号后得到了一个特殊字符,现在我尝试了通过命令提示符在dos中并且它工作正常,谢谢 – javanerd 2010-11-05 13:01:40