2014-09-29 42 views

回答

1
int[] codepoints = { 0x1F601 }; // U+1F601 
String s = new String(codepoints, 0, codepoints.length); 
byte[] bytes = s.getBytes(StandardCharsets.UTF_8); // As UTF-8 (Unicode) bytes 
System.out.println(Arrays.toString(bytes)); 

所以一個第一coposes Unicode碼點轉換爲Java字符串。 Java字符串保存Unicode。 當需要字節時,比如用UTF-8表示 - 一種Unicode表示形式 - 則必須指出字節將在的字符集。

+0

有了這段代碼我有[-16,-97,-104,-127]作爲結果..沒有,我想..沒有? – colymore 2014-09-29 12:41:04

+0

-16 = F0十六進制,-97 = 256-97 = 159 = 160-1 =十六進制A0-1 = 9F。所以沒關係。 – 2014-09-29 12:46:58