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

posted @   影随风动91  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示