网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > Java >

为什么说一个中文占三个字节

时间:2025-06-13 15:16

人气:

作者:admin

标签:

导读:缘由 在学习java基础时 对于s2,一个中文占用3个字节**,21845个正好占用65535个字节,而且字符串长度是21845,长度和存储也都没超过限制,所以可以编译通过 后来发现这句话是错的, ja...

缘由

在学习java基础时
对于s2,一个中文占用3个字节**,21845个正好占用65535个字节,而且字符串长度是21845,长度和存储也都没超过限制,所以可以编译通过
后来发现这句话是错的, java中char的存储是 LATIN-1(1字节) OR UTF-16(2字节)
但是引出了我对 UTF-8 的思考
为啥是三个字节, 不是两个字节吗

  • java的默认编码格式

那我们看看 UTF-8的wiki

  • Unicode

故名思意, 为每个字符(任何语言)提供一个独特编码
以满足跨语言、跨平台的文本信息转换

码点的位数 表示的unicode范围 字节序列 Byte 1 Byte 2 Byte 3 Byte4
7 0~127 1 0xxxxxxx
11 128~2047 2 110xxxxx 10xxxxxx
16 2048~65535 3 1110xxxx 10xxxxxx 10xxxxxx
21 >65535 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

比如’中’的unicode为4E2D 4^(16∗16∗16) = 16384 >2047

显然是用3位UTF-8存储

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信