Java一个汉字占几个字节(详解与原理)
2024-10-14 02:57:48
1、先说重点:
不同的编码格式占字节数是不同的,UTF-8编码下一个中文所占字节也是不确定的,可能是2个、3个、4个字节;
2、以下是源码:
@Test public void test1() throws UnsupportedEncodingException { String a = "名"; System.out.println("UTF-8编码长度:"+a.getBytes("UTF-8").length); System.out.println("GBK编码长度:"+a.getBytes("GBK").length); System.out.println("GB2312编码长度:"+a.getBytes("GB2312").length); System.out.println("=========================================="); String c = "0x20001"; System.out.println("UTF-8编码长度:"+c.getBytes("UTF-8").length); System.out.println("GBK编码长度:"+c.getBytes("GBK").length); System.out.println("GB2312编码长度:"+c.getBytes("GB2312").length); System.out.println("=========================================="); char[] arr = Character.toChars(0x20001); String s = new String(arr); System.out.println("char array length:" + arr.length); System.out.println("content:| " + s + " |"); System.out.println("String length:" + s.length()); System.out.println("UTF-8编码长度:"+s.getBytes("UTF-8").length); System.out.println("GBK编码长度:"+s.getBytes("GBK").length); System.out.println("GB2312编码长度:"+s.getBytes("GB2312").length); System.out.println("=========================================="); }
3、运行结果
UTF-8编码长度:3 GBK编码长度:2 GB2312编码长度:2 ========================================== UTF-8编码长度:4 GBK编码长度:1 GB2312编码长度:1 ========================================== char array length:2 content:|最新文章
- sqlite常用查询
- rqnoj343 mty的考验
- exception catch doesn't work?? (python 3)
- mysql大数据分表后查询
- Dynamics AX 2012 在BI分析中建立数据仓库的必要性
- logistic公式形式的由来,从广义线性回归说起
- .net3.5后新增的 BeginInvoke EndInvoke 异步操作
- DNS(三)DNS SEC(域名系统安全扩展)
- soliworks三维机柜布局(二)创建设备位置
- Android蓝牙操作笔记
- javaweb之servlet 全解
- wordpress高级教程
- 用Laravel Sms实现 laravel短信验证码的发送
- Java 使用BigDecimal类处理高精度计算
- C#中的IntPtr
- Java Callable使用
- Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)-C. Plasticine zebra
- BZOJ1297 [SCOI2009]迷路 矩阵乘法
- 【教程】InstallShield使用完全教程
- Unity三消算法
热门文章