当前位置: 移动技术网 > IT编程>开发语言>Java > Java一个汉字占几个字节(详解与原理)(转载)

Java一个汉字占几个字节(详解与原理)(转载)

2018年12月25日  | 移动技术网IT编程  | 我要评论

1、先说重点:

不同的编码格式占字节数是不同的,utf-8编码下一个中文所占字节也是不确定的,可能是2个、3个、4个字节;

2、以下是源码:

复制代码
 1   @test
 2     public void test1() throws unsupportedencodingexception {
 3         string a = "名";
 4         system.out.println("utf-8编码长度:"+a.getbytes("utf-8").length);
 5         system.out.println("gbk编码长度:"+a.getbytes("gbk").length);
 6         system.out.println("gb2312编码长度:"+a.getbytes("gb2312").length);
 7         system.out.println("==========================================");
 8 
 9         string c = "0x20001";
10         system.out.println("utf-8编码长度:"+c.getbytes("utf-8").length);
11         system.out.println("gbk编码长度:"+c.getbytes("gbk").length);
12         system.out.println("gb2312编码长度:"+c.getbytes("gb2312").length);
13         system.out.println("==========================================");
14 
15         char[] arr = character.tochars(0x20001);
16         string s = new string(arr);
17         system.out.println("char array length:" + arr.length);
18         system.out.println("content:|  " + s + " |");
19         system.out.println("string length:" + s.length());
20         system.out.println("utf-8编码长度:"+s.getbytes("utf-8").length);
21         system.out.println("gbk编码长度:"+s.getbytes("gbk").length);
22         system.out.println("gb2312编码长度:"+s.getbytes("gb2312").length);
23         system.out.println("==========================================");
24     }
复制代码

3、运行结果

复制代码
 1 utf-8编码长度:3
 2 gbk编码长度:2
 3 gb2312编码长度:2
 4 ==========================================
 5 utf-8编码长度:4
 6 gbk编码长度:1
 7 gb2312编码长度:1
 8 ==========================================
 9 char array length:2
10 content:|  

                    

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网