Unicode和UTF - 8主要有以下区别
概念范畴
- Unicode:是字符集 。它为世界上几乎所有的字符(包括各国文字、标点符号、特殊符号等)分配了唯一的编号,这个编号也叫码位、码点,比如“中”字的Unicode码点是U+4E2D 。它规定了字符的抽象表示,只关注字符与数字编号的对应关系,不涉及具体如何在计算机中存储和传输 。
- UTF - 8:是编码规则 。它规定了如何将Unicode中的码点转换为字节序列,也就是确定了字符在计算机中实际存储和传输时的二进制形式。
存储方式
- Unicode:通常用16位(2个字节)或32位(4个字节)来表示一个字符。比如ASCII码范围内的英文字符,原本用1个字节表示,在Unicode中会用2个字节表示(高位补0 ),这可能造成存储空间的浪费 。
- UTF - 8:是可变长编码。它根据字符的不同&#