梳理unicode utf-8

来源:互联网 发布:青山水利计价软件 编辑:程序博客网 时间:2024/06/17 03:00
unicode是什么:
是一个字符集:character set
是各个国家各自开发不同的字符集编码之后(比如中国最早是GB2312),国际标准化组织internationalStandardization organization(ISO)为了统一地球上所有的语言字符到一个字符集编码中去。设计了UCS,可以理解为universal character set,再简化一点可以当它是universal code,即unicode

为了统一,并且表示很多的字符。规定所有都必须用两个字节表示。
8位的也需要扩展为16位。(所以对于英文符号来说,高8位永远都是0)、
这英文文本就不干了,这样不就浪费了一倍的空间来保存文本吗?

16位需要两个8位来存储。这就衍生出了一个概念。“字符”
一个字符是两个字节。

由上我们看出,unicode有两个问题:
1、空间浪费
2、无法确定几个字节表示一个字符。

接下来先讲一下unicode在互联网出现后,由传输方式的不同衍生出的不同版本UTF
UTF(UCS Transfer Format)定义了一次传输几位数据,UTF-8就是每次8个位传输,而UTF-16就是每次16个。

UTF-8最大的一个特点,就是它是一种变长的编码方式。
它可以用1~4个字节来表示,通过某些规则我们可以看出每个字符用了多少个字节。

具体的规则可以直接读图
最后简洁概括:
Unicode is charset。
UTF-8 is encoding。

0 0
原创粉丝点击