且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

python3对于编码的调整

更新时间:2022-07-18 10:26:42

python2默认的编码是ascii,python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。


import
sys reload(sys)

sys.setdefaultencoding('utf8')


这样,转换之后默认编码就改为utf8了。

Python3.x中已经修改了编码的方式,明确了str和byte的区分,不需要使用这个转换了。

Python3.x中sys没有setdefaultencoding了,因为不需要。

python3 默认的编码为unicode

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8用1到6个字节编码Unicode字符。

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。

bytes.decode(encoding="utf-8", errors="strict")

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。

str.encode(encoding='UTF-8',errors='strict')