(二)计算机编码之Unicode

1 小序

Unicode(统一码,万国码,单一码)是一种编码标准,包括字符集,编码方案,Unicode是为解决传统的字符编码方案(即ASCII编码方案)的只能对英文编码的限制而制定的.它对不同语言的每个字符设定了统一且唯一的二进制编码,以满足跨平台,跨语言的文本处理.
Unicode通常采用两个字节表示一个字符,ASCII一个字符占一个字节,变成一个字符占两个字节,高位补0.Python2在Unicode之前产生,所以Py2只支持ASCII编码.
Unicode是国际组织制定对世界所有语言的文字和符号进行编码的方案.目前,Unicode字符分为17组编排,0x0000~0x10FFFF,每组称为平面,每个平面拥有65536个码位,共1114112个.目前常用的编码方案:UTF-8,UTF-16,UTF-32.

2 UTF

UTF(Unicode Transformation Format,Unicode转换格式)将Unicode定义的数字即把使用Unicode编码方案进行编码的字符或文字转换成程序数据.

2.1 UTF-8

以字节为单位(即8位)对Unicode进行编码(Unicode以两字节表示一个字符),编码过程:

序号Unicode编码(十六进制)UTF-8字节(二进制)
1000000~00007F0xxxxxxx
2000080~0007FF110xxxxx 10xxxxxx
3000800~00FFFF1110xxxx 10xxxxxx 10xxxxxx
4010000~10FFFF11110xxx 10xxxxx 10xxxxxx 10xxxxxx

从上表可看出,UTF-8对不同范围的字符使用不同长度的编码.

2.2 UTF-16

UTF-16以16位无符号整数为单位进行编码.

2.3 UTF-32

UTF-16以16位无符号整数为单位进行编码.


更新ing
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值