嗨 我有一個場景,我需要轉換默認字符集應該被重寫爲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