查了一大堆,糊里糊涂的。现在知道以下几点:
java采用unicode编码,占两个字节,编码范围是0x0000到0xFFFF,但一共才65536个数,怎么可能表达世界上所有语言文字呢,于是又冒出来一个增补码,占4个字节,范围是0x100000到0x10FFFF。
那么现在假设有一个中文,范围超出了65535,那么它到底是怎么编码的,占几个字节,是几个char?
ringa_lee2017-04-17 14:57:26
public static void main(String[] args) 拋出異常{
System.out.println("回覆0
PHP中文网2017-04-17 14:57:26
通常我們會設定編碼格式為UTF-8,中文在java中一個漢字表示兩個字符,3個位元組
public static void main(String[] args) {
String str = "测试";
System.out.println(str.getBytes().length);
}
輸出: 6
對於不同的編碼格式下所佔用的位元組數,可參考部落格:
不同的編碼格式下所佔用的位元組數