public class UTF8 {
public static void main(String[] args){
String s = "ヨ"; //0xFF6E
System.out.println(s.getBytes().length);//length of the string
System.out.println(s.charAt(0));//first character in the string
}
}
3
ヨ
請幫助我理解這一點。試圖瞭解utf8編碼如何在java中工作。 根據char char的定義char char:char數據類型是一個單一的16位Unicode字符。
這是否意味着在Java中char類型只能支持,可以用2個字節來表示,並沒有比這更那些Unicode字符?
在上述程序中,無分配給該字符串的字節是3,但在第三行,它返回第一個字符(2個字節在Java)可以容納一個字符是3個字節長? 真的很困惑嗎?
關於Java的這個概念有什麼好的參考/一般將非常感激。
另請參閱[Unicode FAQ](http://www.unicode.org/faq/utf_bom.html#gen0)。 – McDowell