unicode和utf-8有什么区别?它们有什么关系?
unicode是一个字符集,它规定了字符的二进制代码,比如汉字知
的 Unicode 是十六进制数0x77E5
,但是unicode并不是具体的字符编码解码实现。
而utf-8是具体的字符编码解码实现,它是基于unicode字符集来进行编解码,实现了具体字符存储在计算机中的形式,为了减少字节浪费,utf-8的编码长度是可变的,并不是所有字符在utf-8编码后的二进制都和unicode中定义的一样,但是它可以通过一定的规则相互转换。
unicode相当于一张映射表,而utf-8则是利用这张表来字符<--->二进制
的相互转换。更多详细的内容可以参考字符编码笔记:ASCII,Unicode 和 UTF-8
内容