84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
查了一大堆,糊里糊涂的。现在知道以下几点:
java采用unicode编码,占两个字节,编码范围是0x0000到0xFFFF,但一共才65536个数,怎么可能表达世界上所有语言文字呢,于是又冒出来一个增补码,占4个字节,范围是0x100000到0x10FFFF。那么现在假设有一个中文,范围超出了65535,那么它到底是怎么编码的,占几个字节,是几个char?
业精于勤,荒于嬉;行成于思,毁于随。
public static void main(String[] args) throws Exception{ System.out.println("
通常我们会设置编码格式为UTF-8,中文在java中一个汉字表示两个字符,3个字节
public static void main(String[] args) { String str = "测试"; System.out.println(str.getBytes().length); }
输出: 6对于不同的编码格式下所占用的字节数,可参考博客:不同的编码格式下所占用的字节数
UTF-8三个GBK两个
通常我们会设置编码格式为UTF-8,中文在java中一个汉字表示两个字符,3个字节
输出: 6
对于不同的编码格式下所占用的字节数,可参考博客:
不同的编码格式下所占用的字节数
UTF-8三个
GBK两个