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