java一个中文几个字节_一个汉字占几个字节你真的记住了吗?
一个汉字占几个字节是不是不太好记呢,编码不一样则占字节位就不一样。下面用一段简短的代码了解一下一个汉字占几个字节。
示例
String s = "情系IT";
try {
byte[] bytes1 = s.getBytes("gbk");
for (byte b : bytes1) {
System.out.print(Integer.toHexString(b & 0xff)+" ");
}
System.out.println();
byte[] bytes2 = s.getBytes("utf-8");
for (byte b : bytes2) {
System.out.print(Integer.toHexString(b & 0xff)+" ");
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
下面是运行结果:
解析
Integer.toHexString(int a),这个是java API提供的一个方法,目的是返回整数参数的字符串表示形式,作为16位中的无符号整数。
为什么要用b & 0xff ?
Integer.toHexString(int a),需要的是一个int类型的参数。
0xff代表的就是16进制的11111111。
我们知道byte是1个字节,int是4个字节,也就是要将8位转换为32位。如果无符号位的话,我们直接补0即可。因此&0xff就是为了保证符号位。
举个例子:-127转为二进制为11111111,取反求补则为10000001,转十六进制则为81,继续转成十进制,看成无符号数就会发现变成了129。
总结
根据结果我们可看出,
字符串是utf-8编码,一个汉字三个字节,一个字母一个字节。
字符串是gbk编码时,一个汉字两个字节,一个字母一个字节。
如果想看其他编码下的情况,可复制上面的代码,将字符串进行其他编码查看即可。
注意:如果字符串不进行编码,则默认为项目的编码。
如果文章对您有帮助,请记得点赞关注哟~
欢迎大家关注我的公众号:情系IT,每日推送技术文章供大家学习参考。
java一个中文几个字节_一个汉字占几个字节你真的记住了吗?相关推荐
- 中文标点符号占用几个字节_英文字符占几个字节?汉字字符、还有标点呢?????...
展开全部 一个英文字符等于1个字节,一个中文(含繁体)字符等于3个字节:中文标点占3个字节,英32313133353236313431303231363533e59b9ee7ad94313334313 ...
- Oracle中一个汉字占几个字节
Oracle中一个汉字占几个字节? 某天,在向一个字段类型为CHAR(6)的表中插入数据'大沽口'时报错,提示'too large for column(actual: 9 ,maximum: 6)' ...
- java char是几个字节_关于java中char占几个字节,汉字占几个字节
我们平常说,java中char占2个字节,可又说汉字在不通的编码格式中所占的位数是不同的,比如gbk中汉字占2个字节,utf8中多数占3个字节,少数占4个.而所有汉字在java程序中我们都可以简单的用 ...
- java中char是几个字节_关于java中char占几个字节,汉字占几个字节
我们平常说,java中char占2个字节,可又说汉字在不通的编码格式中所占的位数是不同的,比如gbk中汉字占2个字节,utf8中多数占3个字节,少数占4个.而所有汉字在java程序中我们都可以简单的用 ...
- java一个中文几个字节_java一个汉字占几个字节;一个字符占几个字节?redis一个汉字占几个字节;一个字符占几个字节?...
脱离字符集编码 谈这个问题没什么实际意义 我不知道你讲的Java 中汉字是几个字节具体是什么意思 Java 中 Character 采用的是 utf-16 编码,那么就是两个字节(0----65535 ...
- php汉字占几个字节,php一个汉字几个字节
字符的简介: 在js中,中文占两个字符,英文占一个字符: 在php中,不同编码下不相同,在GBK/GB2312编码下一个中文占2个字符,UTF-8/unicode编码下一个中文占3个字符: 推荐:&l ...
- 一个汉字占几个字节的问题
一个汉字占几个字节的问题 大家都说一个汉字占两个字节(byte) 但是为什么运行程序会得到如下结果 String name="宋"; int a=name.getBytes(&qu ...
- 一个汉字占多少个字节
一个汉字占多少个字节 不同编码方式1个英文字母占的字节是不同的: 1,ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间. 2,UTF-8编码:一个英文字符等于一个 ...
- oracle和mysql存储汉字_mysql和oracle的一个汉字占几个字节
以前一直使用oracle11g,一个汉字占3个字节,所以在操作mysql时也一直这样分配长度. 今天测试了下发现不对了 可以看到第一个的长度确实是15,但是第二个为什么是5? 在网上找到资料:char ...
- utf-8 中的一个汉字占几个字节
utf-8 中的一个汉字占几个字节 占 2 个字节的:〇 占 3 个字节的:基本等同于 GBK,含 21000 多个汉字 占 4 个字节的:中日韩超大字符集里面的汉字,有 5 万多个 1 个 utf8 ...
最新文章
- .net core 17
- 如何去除使用inline-block之后的间距(二)?
- C标准库stdlib.h概况
- Java - 探究前后分离带来的跨域问题
- ###STL学习--标准模板库
- c# xml的增删改查操作 xmlDocument 的用法
- 实验4 [bx]和loop的使用
- 七台河计算机网络工程专业,网络工程本科专业介绍
- mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...
- php酒店管理论文,酒店管理毕业论文
- 工具的使用——搜狗输入法
- html5新增的一个input属性
- 【openjudge 计算概论(A)】[函数递归练习(3)]
- python安装pyaudio
- IDEA2019开发WebService实例
- 5.3 恶意代码功能演示示例(上兴远程控制2014版)
- Cannot access a disposed object. A common cause of this error is disposing a context that was resolv
- ORACLE大数据查询
- OpenGL多重纹理使用与理解
- 中小企业信息安全:基本原则
热门文章
- 关于图片的Exif信息
- 计算机备份u盘,如何把电脑系统备份到u盘_怎么备份系统到u盘-win7之家
- libSVM简介及核函数模型选择
- 【贪玩巴斯】带你一起攻克英语语法长难句—— 第六章——英语的特殊结构 ——2022年3月19日-20日
- Office ❀ PPT图形中的合并形状梳理
- linux cab文件怎么安装包,IE控件cab包手动安装
- 打开360浏览器显示无法连接服务器错误,最近360浏览器老是无法打开网页,提示错误如图,但是只要刷新就可以打开了,这是怎么回事?...
- 他因“上帝粒子”获诺奖,却火速搬到乡下:它毁了我的生活
- 超人游戏_将障碍画在背景中用pygame.mask.from_threshold实现超人和不同颜色障碍精准碰撞检测
- 金蝶ERP服务器系统中间件,中间件在ERP系统中的作用及发展趋势