关于String中各种编码中文字符的字节长度
来源:互联网 发布:淘宝开店冲话费 编辑:程序博客网 时间:2024/04/27 15:55
在java中,一个英文字符在UTF-8/GBK/GB2312中是占用一个字节,在UTF-16中占用4个字节,如下测试:
先来看英文字母所占字节数:
char c = 'a';try { System.out.printf("默认编码:%s, 字节数:%d%n", System.getProperty("file.encoding"), Character.toString(c).getBytes().length); System.out.printf("编码:%s, 字节数:%d%n", "utf8", Character.toString(c).getBytes("utf8").length); System.out.printf("编码:%s, 字节数:%d%n", "utf16", Character.toString(c).getBytes("utf16").length); System.out.printf("编码:%s, 字节数:%d%n", "gb2312", Character.toString(c).getBytes("gb2312").length); System.out.printf("编码:%s, 字节数:%d%n", "gbk", Character.toString(c).getBytes("gbk").length);} catch (UnsupportedEncodingException e) { e.printStackTrace();}
结果如下:
默认编码:UTF-8, 字节数:1编码:utf8, 字节数:1编码:utf16, 字节数:4编码:gb2312, 字节数:1编码:gbk, 字节数:1
再来看看中文字符:
char c = '中';try { System.out.printf("默认编码:%s, 字节数:%d%n", System.getProperty("file.encoding"), Character.toString(c).getBytes().length); System.out.printf("编码:%s, 字节数:%d%n", "utf8", Character.toString(c).getBytes("utf8").length); System.out.printf("编码:%s, 字节数:%d%n", "utf16", Character.toString(c).getBytes("utf16").length); System.out.printf("编码:%s, 字节数:%d%n", "gb2312", Character.toString(c).getBytes("gb2312").length); System.out.printf("编码:%s, 字节数:%d%n", "gbk", Character.toString(c).getBytes("gbk").length);} catch (UnsupportedEncodingException e) { e.printStackTrace();}
结果如下:
默认编码:UTF-8, 字节数:3编码:utf8, 字节数:3编码:utf16, 字节数:4编码:gb2312, 字节数:2编码:gbk, 字节数:2
可以发现UTF-16编码下,无论中文还是字母都占用4个字节。
阅读全文
0 0
- 关于String中各种编码中文字符的字节长度
- 关于字符编码,中文所占字节的整理。
- 字符与字节区别,编码格式的字符长度
- 关于Java中各种字符编码格式的说明
- Android URL中关于中文特殊字符的编码
- 关于各种字符编码
- mysql中utf8编码中文字符长度问题
- mysql中utf8编码中文字符长度问题
- MySql中UTF8 和 GBK 编码中文字符长度问题
- MySql中UTF8和GBK编码中文字符长度问题
- mysql中utf8编码中文字符长度问题
- mysql中utf8编码中文字符长度问题
- MySql中UTF8 和 GBK 编码中文字符长度问题
- Qt中关于中文字符编码问题
- mysql中varchar(10)中定义的长度到底是字符长度还是字节长度
- mysql中varchar(10)中定义的长度到底是字符长度还是字节长度
- mysql中varchar(10)中定义的长度到底是字符长度还是字节长度
- UITextField计算中英文混合的字符长度,中文2字节,英文1字节
- 欢迎使用CSDN-markdown编辑器
- p(4.1-2)
- lua中的全局变量与局部变量与块
- 埃及分数
- WebService
- 关于String中各种编码中文字符的字节长度
- 陈越《数据结构》第六讲 图(上)
- git本地仓库不显示加号和对号
- 欢迎使用CSDN-markdown编辑器
- 服务计算——Agenda命令设计
- 在deepin上安装mysql
- 程序员的鄙视链,吐槽产品经理像驾校教练,真是生动至极
- Java学习——Java运算符优先级
- DHCP工作原理及配置DHCP服务和中继代理服务