免费优化网站的软件,找哪些公司做网站,h5响应式网站模板下载,中国空间站模型使用Python写文件的时候#xff0c;或者将网络数据流写入到本地文件的时候#xff0c;大部分情况下会遇到#xff1a;UnicodeEncodeError: gbk codec cant encode character \xa0 in position ... 这个问题。 网络上有很多类似的文件讲述如何解决这个问题#xff0c;但是无…使用Python写文件的时候或者将网络数据流写入到本地文件的时候大部分情况下会遇到UnicodeEncodeError: gbk codec cant encode character \xa0 in position ... 这个问题。 网络上有很多类似的文件讲述如何解决这个问题但是无非就是encodedecode相关的这是导致该问题出现的真正原因吗不是的。 很多时候我们使用了decode和encode试遍了各种编码utf8utf-8,gbk,gb2312等等该有的编码都试遍了可是编译的时候仍然出现 UnicodeEncodeError: gbk codec cant encode character \xa0 in position XXX。 崩溃了。在windows下面编写python脚本编码问题很严重。将网络数据流写入文件时时我们会遇到几个编码1 #encodingXXX 这里(也就是python文件第一行的内容)的编码是指该python脚本文件本身的编码无关紧要。只要XXX和文件本身的编码相同就行了。 比如notepad 格式菜单里面里可以设置各种编码这时需要保证该菜单里设置的编码和encoding XXX相同就行了不同的话会报错2网络数据流的编码 比如获取网页那么网络数据流的编码就是网页的编码。需要使用decode解码成unicode编码。3目标文件的编码 要将网络数据流的编码写入到新文件那么我么需要指定新文件的编码。写文件代码如复制代码代码如下:f.write(txt)那么txt是一个字符串它是通过decode解码过的字符串。关键点就要来了目标文件的编码是导致标题所指问题的罪魁祸首。如果我们打开一个文件复制代码代码如下:f open(out.html,w)在windows下面新文件的默认编码是gbk这样的话python解释器会用gbk编码去解析我们的网络数据流txt然而txt此时已经是decode过的unicode编码这样的话就会导致解析不了出现上述问题。 解决的办法就是改变目标文件的编码复制代码代码如下:f open(out.html,w,encodingutf-8)。这样问题将不复存在。