老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Unicode和UTF-8有什么区别?

老男孩IT教育

常见问题

2021年6月9日 17:01

学无止境!从事互联网行业的小伙伴,无论什么计算机语言,都听过UTF-8和Unicode吧,但两者具体是什么大家可能了解的并不全面,或者说两者有什么不同之处呢?如果你是其中的一员,如果你也对它感兴趣,那就快来跟我看完这篇文章。

       学无止境!从事互联网行业的小伙伴,无论什么计算机语言,都听过UTF-8Unicode吧,但两者具体是什么大家可能了解的并不全面,或者说两者有什么不同之处呢?如果你是其中的一员,如果你也对它感兴趣,那就快来跟我看完这篇文章。

互联网

       ·Unicode(国际码)

       世界上存在着很多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,用错误的编码方式解读,就会出现乱码。

       假设,有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码。

       Unicode其实是对字符的一种编码方式,可以理解为字符--数字的映射机制,用一个数字即可表示一个字符,因为计算机能够处理的是二进制码,而不是字符,所以当然要对字符进行编码。

       Unicode是一个很大的集合,可以容纳100多万个符号。每个符号的编码都不一样,具体的符号表,可以查询unicode.org,或者专门的汉字对应表

Unicode

       ·UTF-8

       现在是互联网时代,也就是信息时代,使用的人非常多,所以需要出现一种统一的编码方式。UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式。其他实现方式还包括 UTF-16(字符用两个字节或四个字节表示)和 UTF-32(字符用四个字节表示),不过这些并不常用,UTF-8 是 Unicode 的实现方式之一。

       UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,UTF-8是互联网上使用最广的一种Unicode的实现方式。

       编码规则

       对于单个字节的字符,第一位设为 0,后面的 7 位对应这个字符的 Unicode 码点。因此,对于英文中的 0 - 127 号字符,与 ASCII 码完全相同。

       对于需要使用 N 个字节来表示的字符(N > 1),第一个字节的前 N 位都设为 1,第 N + 1 位设为0,剩余的 N - 1 个字节的前两位都设位 10,剩下的二进制位则使用这个字符的 Unicode 码点来填充。

       总结来说:Unicode是字符集,UTF-8是编码规则

                        ·字符集:为每一个「字符」分配一个唯一的 ID

                        ·编码规则:将「码位」转换为字节序列的规则

       更多干货请关注老男孩教育官方网站,也可以进行一对一咨询哦,想要学习技术的小伙伴们,老男孩教育值得你拥有。

       推荐阅读:

       Python如何学习?老男孩Python课程有哪些?

       如何速记Linux命令?零基础掌握

       Python学起来困难?那是你方法不对

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。