unicode字符编码

字符集,用一张或多张由多行多列的二维表构成。

二维表中行与列相交的点,称为code point,码点。一个码点值(即码点编号)就是对应字符的编号,索引码点值有时
可以直接称为字符编号。【那么字符编号最大是多少?】

字符集中所有码点数量的总和,称为编号空间。
Unicode标准,将字符按照类别划分到0~16这17个平面,每个平面有2**16=65526个码点,因此目前编号空间为
17*65535=1114112

【由于如果用固定长度的字节表示编号值,会造成一定程序的浪费,
因此用来表示码点值的字节序列长度,随码值变化而变化,也就是变长编码】

码点值(即字符编号)的具体实现方式,称为字符编码方式Character Encoding Form,
Unicdoe字符编号有三种UTF编码方式,

也就是说,go语言中的rune类型(int32),表示的code point,也就是码点值。
但一个码点值,编码表示时,可以是一个或多个字节。

《阮一峰 字符编码》
需要注意的是,Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。
互联网的普及,强烈要求出现一种统一的编码方式。
UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式。其他实现方式还包括 UTF-16(字符用两个字节或四个字节表示)和 UTF-32(字符用四个字节表示),不过在互联网上基本不用。

重复一遍,这里的关系是,UTF-8 是 Unicode 的实现方式之一。
UTF-8变长编码,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

Unicode字符集的编码方式以及码点、码元
字符编码笔记:ASCII,Unicode 和 UTF-8

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值