avatar

Catalog
Unicode和utf_8

简单区别

简单来说:

  • Unicode是 【字符集】,为每一个字符分配一个唯一ID
  • UTF-8是 【编码规则】,将字符集的唯一ID转化成字节序列的规则

详细区别

广义的Unicode是一个标准,定义了一个字符集和一系列编码规则,即Unicode字符集和UTF-8、UTF-16、UTF-32等等编码。

Unicode字符集为每一个字符分配一个码位,例如[知]的码位为30693,记作U+77E5(0x77E5)。

UTF-8 顾名思义,是一套以 8 位为一个编码单位的可变长编码。会将一个码位编码为 1 到 4 个字节:

微信截图_20200403214812

根据上表中的编码规则,之前的「知」字的码位 U+77E5 属于第三行的范围:

微信截图_20200403214827

这就是将U+77E5按照UTF-8编码为字节序列E79FA的过程。反之亦然。

Author: realLiuSir
Link: http://yoursite.com/2020/04/03/unicode%E5%92%8Cutf_8/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
    微信
  • 支付寶
    支付寶