——字符编码——
#在python3.x上执行
现在文件的编码格式为utf-8,message为默认的格式Unicode,然后可以直接对message进行编码为gbk的格式。
显示的字节类型的gbk格式的string“编程”。

分别编码为gbk、gb2312、utf-8格式:

utf-8格式转为gbk格式:

全部转为中文:

再来看一下这段程序:
现在文件的编码格式为gbk,但是message为默认的格式Unicode,然后可以直接对message进行编码为gbk的格式。
显示的字节类型的gbk格式的string“编程”。

分别编码为gbk、gb2312、utf-8格式:

utf-8格式转为gbk格式:

全部转为中文:

在python3.x版本,显示不出现问题,是因为都转换为了字节数据。
解释几个错误:
//错误原因:现在文件的解释方式为gbk,如果没有开头字符编码级的声明,就默认为utf-8,所以会出现编码方式不对的错误,所以要在文件开头声明编码的字符级为gbk形式。

//错误的原因:虽然文件的编码为gbk格式,但是message的格式依然为Unicode的格式,所以无法再进行decode。

//错误原因:虽然文件的编码为utf-8格式,但是message的格式为Unicode的格式,所以无法再进行decode。

网友评论