简单区别
简单来说:
- Unicode是 【字符集】,为每一个字符分配一个唯一ID
- UTF-8是 【编码规则】,将字符集的唯一ID转化成字节序列的规则
详细区别
广义的Unicode是一个标准,定义了一个字符集和一系列编码规则,即Unicode字符集和UTF-8、UTF-16、UTF-32等等编码。
Unicode字符集为每一个字符分配一个码位,例如[知]的码位为30693,记作U+77E5(0x77E5)。
UTF-8 顾名思义,是一套以 8 位为一个编码单位的可变长编码。会将一个码位编码为 1 到 4 个字节:
根据上表中的编码规则,之前的「知」字的码位 U+77E5 属于第三行的范围:
这就是将U+77E5按照UTF-8编码为字节序列E79FA的过程。反之亦然。