84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
查了一大堆,糊里糊涂的。现在知道以下几点:
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两个