unicode和utf-8编码区别
以前使用Python2,一直为中文烦恼,也不知道为什么开头就要声明#coding=utf-8,后来用了Python3,发现就不用这样了,还是想彻底弄懂下这是为什么。
先讲asc码 每个 ASC码占一个字节 1个字节=8个bit 也就是说ASC码最多只有256个 表示中文肯定是不够的 ,所以后面就有了中文编码 gb2312,一个gb2312占用两个字节 ,但是中文有了 日文韩文等也都有自己的编码,这个就很乱,后来就有了统一编码Unicode ,Unicode占用两个字节 ,但是代码一般都是英文的,占了两个字节多占用了一倍的存储,不利于传输和存储,于是就有了utf-8的格式 可变长编码,utf-8英文占用1个字节,汉字占用三个字节。
我们用Python2的时候,汉字在Windows下默认是用的GB2312编码的,一般会申明都会带上一个小写的u,表示使用的是Unicode编码;所以Python经常会使用decode函数和encode函数,decode函数作用是将其他编码转换成Unicode,encode函数的作用是将Unicode转换成其他编码;如 s=“我爱Python”是gb2312编码,把它转换成utf-8编码就得使用 s.decode("GB2312").encode("utf-8")。如果在Python3中,它默认就是Unicode编码,就可以直接encode成utf-8格式了。
相关推荐
周游列国之仕子 2020-09-21
89411051 2020-06-14
88384957 2020-06-12
84590091 2020-06-08
88540591 2020-06-01
81214051 2020-04-25
84590091 2020-04-22
84590091 2020-02-16
GhostLWB 2019-12-15
88540591 2019-12-10
84590091 2019-11-09
JakobHu 2019-11-09
80467305 2019-11-04
butterflyfly00 2019-11-04
86530296 2020-11-10
88540591 2020-06-16
mjshldcsd 2020-06-14
88540591 2020-06-04