Java中utf-8占几个字节
占2个字节的:〇
占3个字节的:基本等同于GBK,含21000多个汉字
占4个字节的:中日韩超大字符集里面的汉字,有5万多个
一个utf8数字占1个字节
一个utf8英文字母占1个字节
在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明
方法1:创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉字,然后查看文件的大小。我觉得这样的证明没有一点说服力,因为 UTF-8 是变长的,1-6个字节,少量的汉字检测是不能说明所有的汉字都是的。
方法2:
String s = "中国";
byte[] bs = s.getBytes("UTF-8");
System.out.println(bs.length);
后来我又查看了字符映射表-汉语,找到了正确的答案,少数是汉字每个占用3个字节,多数占用4个字节。
占用3个字节的范围
U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3 共 115 个 U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 - 0xE2 0xBF 0x95 共 213 个 U+3005 - U+3029 : 0xE3 0x80 0x85 - 0xE3 0x80 0xA9 共 36 个 U+3038 - U+4DB5 : 0xE3 0x80 0xB8 - 0xE4 0xB6 0xB5 共 7549 个 U+4E00 - U+FA6A : 0xE4 0xB8 0x80 - 0xEF 0xA9 0xAA 共 44138 个 U+FA70 - U+FAD9 : 0xEF 0xA9 0xB0 - 0xEF 0xAB 0x99 共 105 个
合计: 52156 个
占用4个字节的范围
U+20000 - U+2FA1D : 0xF0 0xA0 0x80 0x80 - 0xF0 0xAF 0xA8 0x9D 共 64029 个
合计: 64029 个
参考:http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/
Java中utf-8占几个字节相关推荐
- java中double类型占几个字节_java中各种数据类型占用字节数
1字节(Byte)=8bit java的基本类型 类型 所占字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 String中字母和汉字所占字 ...
- 2019.04.08—Java 中字母汉字占几个字节
今天在做回顾的时候看到的问题: 为什么两个运行的结果不一样呢? 1.弄清java中的字节与字符 问题 在java中,一个字符等于多少字节?或者更详细的问:在java中,一个英文字符等于多少字节?一个中 ...
- java中boolean类型占几个字节
java的基本数据类型中,boolean只有两种状态,默认值为false.取值范围是{true,false},理论上占1bit,实际上: 1.单个的boolean 类型变量在编译的时候是使用的int ...
- java中double类型占几个字节_面试官:Java 中有几种基本数据类型是什么?各自占用多少字节?...
认识基本数据类型 在学习基本数据类型之前,我们先认识一下这两个单词:1.bit --位:位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为"0"或"1&quo ...
- Java中int为什么占四个字节?
简单了解计算机为什么要采用二进制表示信息: 因为计算机作为一种电子计算机工具,是由大量的电子器件组成的,在这些电子器件中,电路的通断,电位的高低,用两个数字符号"1"和" ...
- java中char到底占几个字节的问题
前些天被问到一个问题:java中一个char可以表示一个汉字吗? 我一想char不是占一个字节吗?汉字在utf-8中占三个字节(还有四字节的),char不能够表示!对方一笑,让我后面查查 所以网上搜了 ...
- Java中char类型占几个字节?
要想弄清楚char占用几个字节,就必须了解Unicode编码机制. 早在Unicode诞生之前,就已经有很多字符集,如美国的ASCII.表示西欧语言的ISO 8859-1.中国的GB18030等. 但 ...
- java中汉字究竟占几个字节?
byte是1个字节,char是两个字节,但是char里可以存一个汉字,这么说汉字就占用两个字节?String类型里的汉字,按照编码格式的不同,分为2-4个字节的占用,UTF-8占用3个字节,特别的占用 ...
- java中float类型占4个字节,long类型占8个字节,为什么long类型能自动转换成float类型,且float类型为什么表示的范围比long类型大
作为常识我们都知道,float型在内存中占用的是4个字节,而long型占用8个字节.单从字节数来看,long型是大于float型的.但实际上,float表示的范围却是比long要大的 float类型的 ...
- Java中int数据占几个字节?
java有八种基本类型: byte(8)二进制 short(16) long(64) int(32) float(32) double(64) char(16) boolean(1) 转载于:http ...
最新文章
- vue-cli——vue-resource登录注册实例
- .net core 1.0 实现负载多服务器单点登录
- eclipse安装阿里规范模板
- Python、Java、TypeScript 和 Perl 作者谈语言设计
- 织梦php me,GitHub - czmz/DedeCMSv5: 中国专业的PHP网站内容管理系统-织梦内容管理系统...
- Selenium爬虫 -- 图片视频的src绝对地址链接分析
- LINQ查询表达式详解(2)——查询表达式的转换
- Atitit eclipse新特性总结3.1---4.4 4.5
- 计算机网络——数据包抓取与分析
- 求通俗讲解下tensorflow的embedding_lookup接口的意思
- python实现——WORD转PDF(全自动化,支持doc、docx)
- Python 玩出花儿了!一文教你用 Python 制作吃豆人游戏! | 附代码
- 为什么使用Linux
- 机器学习--详解人脸对齐算法SDM-LBF
- 自定义钉钉机器人发消息@所有人
- 小米网关一二三代的区别【转载】网关,mesh ,zigbee
- maven子模块之间互相引入依赖,pom文件报错
- 有关获取android唯一识别号IMEI的问题
- 用sqlcipher对已有的SQLite数据库加密
- 【Hive】快速入门~
热门文章
- 速游面经(游戏服务端开发工程师)
- 2018最值得期待:云行业估值最高的独立云服务商金山云
- 2019湖湘杯 misc3 之miscmisc
- 深入浅出matplotlib(59): 理解pcolormesh ()函数的使用一
- java常用的单词,快点收藏点赞吃灰
- 国际学术论文写作笔记01科学论文的构思、撰写与发表
- 物理学建模及仿真平台Chrono安装
- JS 中的 assign 方法究竟是 “深克隆” 还是 “浅克隆”?
- 什么是uniCloud?
- SpringBoot 系列教程(五十一):SpringBoot整合Mybatis Plus代码生成器,自动生成代码