首页 > IT职业 > IT生活 > python2和python3编码有哪些区别

在我们进行字符串的转换时,有时会遇到编码的问题,对于初学者来说,这才算是一个难点。不过在python2和python3中,编码是有着明显的不同的,这还是源自于python2的使用缺陷,在python3中得到了修改。下面我们对编码概念简单理解,然后探讨python2和python3编码的区别。
1、说明
编码就是将字符串转换成字节码,涉及到字符串的内部表示;解码就是将字节码转换为字符串,将比特位显示成字符。
2、区别分析
(1)在Python2中,字符串和unicode都有编码和解码方法。但是,不建议对字符串使用编码,对unicode使用解码,这是Python2设计的一个缺陷。Python3已优化。str只有一种将字符串转换成字节码编码方法,bytes只有一种将字节码转换成文本字符串的解码方法。
(2)Python2的Str和unicode是basestring的子类,可以直接拼接。而Python3中的字节和字符串是两个独立的类型,所以不能拼接。
(3)在Python2中,用引号括起来的常用字符是str;此时,字符串的编码类型与您的Python文件保存的编码相关。在最常见的Windows平台中,默认情况下使用GBK。在Python3中,用单引号或双引号括起来的字符串已经是Unicode字符串。
(4)在Python3中,字符编码问题已经被极大地优化,不像Python2那样令人头痛。在Python3中,文本始终是Unicode,由str类型表示,使用bytes表示二进制数据,而不是将str和bytes混为一谈,这样就能更清楚地区分它们。
以上就是python2和python3编码的区别介绍,相信很多小伙伴已经用上了python3版本,本篇与python2的对比做一个了解即可,同时加深对编码的理解。更多Python学习指路:python基础教程
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3370/viewspace-2830551/ ,如需转载,请注明出处,否则将追究法律责任。