错误一:
一开始出现了如下的问题:
因为写了很多中文注释,所以,就跑去第一行添加了编码形式:
#*encoding=utf-8
或
# -*- coding: utf-8 -*-
错误二
按上面改完后,出现了如下的问题:
utf-8无法解码byte,意思应该是不能解码二进制文件。但是我这没有找到读取二进制文件的操作啊???网上找了很多解决方法都不管用。
- 如果是读取二进制文件的话:
就在读取的时候,把读取方式的‘r’,改成‘rb’就行了。 - 如果不是读取二进制文件的话:
网上还真没有这方面的解决办法。
后来就在运行的py文件上,将第一行代码
# -*- coding: utf-8 -*-
改成了:
# coding=gbk
然后出错信息终于有指定的文件了,根据错误提示,去掉不符合的符号,就行了。
还没改成# coding=gbk
时,出现的报错信息,都没有指定性,不知道到底是哪里错了,编码问题还是读取文件的问题?。
改成了# coding=gbk
,错误信息就有提示是具体哪个py文件的第几行出现了错误,而且中文注释的问题也没有出现了。
错误三:
使用
# -*- coding: utf-8 -*-
如果print中出现中文,也可能出现上面的错误时,只需把它改成gbk就行了。亲测有用。
UTF-8 and GBK 百度百科
字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。
至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。
GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。
GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
总结:
网上有看到说,python3默认是自动支持中文字符编码,而python2需要添加# _*_ coding:utf-8_*_
,在这里,如果使用python3时,出现了中文编码问题,添加# coding=gbk
。python2的话,还是先试试__ coding:utf-8__ `,一般来说是没问题的。
注:具体为什么会这样呢,博主还在探索中,有哪位大佬知道的话,还请告知学习,感激不尽