品易云推流 关闭
文章 > Python > python2和python3编码有哪些区别

python2和python3编码有哪些区别

头像

小妮浅浅

2021-03-03 14:12:41577浏览 · 0收藏 · 0评论

在我们进行字符串的转换时,有时会遇到编码的问题,对于初学者来说,这才算是一个难点。不过在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基础教程

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮