不同字符编码对比

目录

1. ASCII码

2. Unicode

3. GBK编码


1. ASCII码

ASCII码使用一个字节编码,但只适用于英文;

2. Unicode

Unicode定义了字符集,有 17 个 code plane,总共规划了 1,114,112 个 code point。而这些字符可以使用UTF-8、UTF-16或者UTF-32等编码方式进行编码,不同的编码方式所占的字节数不一样。

UTF-8是99%的网站使用的编码,占1~4个字节,具体的表现形式为:

0xxxxxxx:单字节编码形式,这和 ASCII 编码完全一样,因此 UTF-8 是兼容 ASCII 的;

110xxxxx 10xxxxxx:双字节编码形式;

1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式,大部分中文使用三字节编码

11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式,极少部分罕见中文使用四字节编码。

UTF-8编码示例如下:

UTF-16占2或4个字节,是唯一不兼容ASCII码的编码;

UTF-32占4个字节。

3. GBK编码

GBK是特地为中文设计的编码方式,不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。其在国际上不具备通用性。具体形式如下

可以看到“中”字的编码为0xD6D0。

参考:

unicode编码中一个汉字占几个字节? - 知乎

unicode编码中一个汉字占几个字节? - 知乎

utf-8与GBK的区别 - 简书 (jianshu.com)

Unicode字符需要几个字节来存储?_二十六画生的博客的博客-CSDN博客_unicode 几个字节

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值