简洁的语言说简单的事Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符集,它定义了文字和二进制的对应关系,并为每个字符分配了一个唯一的编号编号靠前的需要一个字节存储,编号靠后的需要三个字节才能存储,今天小编就来说说关于unicode编码和utf-8的区别?下面更多详细答案一起来看看吧!

unicode编码和utf-8的区别(聊一下Unicode及UTF-8UTF-16UTF-32)

unicode编码和utf-8的区别

简洁的语言说简单的事

Unicode 字符集

Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符集,它定义了文字和二进制的对应关系,并为每个字符分配了一个唯一的编号。编号靠前的需要一个字节存储,编号靠后的需要三个字节才能存储。

注意:Unicode 只是一个字符集,如果要将字符存储到内存,还需要使用UTF字符编码,它规定了如何将文字的编号存储到内存中

UTF 编码

UTF 是 Unicode Transformation Format 的缩写,意思是“Unicode转换格式”

Unicode 可以使用的编码有三种,分别是:

UTF-8

utf-8 编码规则很简单:如果只有一个字节,那么最高的比特位为 0,兼容ASCII 编码;如果有多个字节,那么第一个字节从最高位开始,连续有几个比特位的值为 1,就使用几个字节编码,剩下的字节均以 10 开头。

UTF-16

UTF-16 将Unicode字符集分成两部分,第一部分对于 Unicode 编号范围在 0 ~ FFFF 之间的字符,使用两个字节存储,并且直接存储 Unicode 编号,不进行编码转换。第二部分对于 Unicode 编号范围在 10000~10FFFF 之间的字符,使用四个字节存储

UTF-32

UTF-32 是固定长度的编码,始终占用 4 个字节,足以容纳所有的 Unicode 字符,所以直接存储 Unicode 编号即可,不需要任何编码转换。浪费了空间,提高了效率

,