参考链接:https://www.cnblogs.com/themost/p/6603409.html

使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗?不是的。 很多时候,我们使用了decode和encode,试遍了各种编码,utf8,utf-8,gbk,gb2312等等,该有的编码都试遍了,可是编译的时候仍然出现: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position XXX。 崩溃了。

在windows下面编写python脚本,编码问题很严重。

将网络数据流写入文件时时,我们会遇到几个编码:

1: #encoding='XXX' 这里(也就是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",encoding='utf-8')  

。这样,问题将不复存在。

'gbk' codec can't encode character解决方法相关推荐

  1. Python UnicodeEncodeError: ‘gbk‘ codec can‘t encode character 解决方法

    Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法 参考文章: (1)Python UnicodeEncodeErro ...

  2. python encode gbk_[转]Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法

    使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character ' ...

  3. 问题之一python提示UnicodeEncodeError: ‘gbk‘ codec can‘t encode character解决

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.UnicodeEncodeError: 'gbk' codec can't encode character 二. ...

  4. 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX

    从网上抓了一些字节流,想打印出来结果发生了一下错误: UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position ...

  5. Python3 解决编码问题: UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position

    原博文链接:http://www.aobosir.com/blog/2016/12/08/python3-UnicodeEncodeError-gbk-codec-can't-encode-chara ...

  6. 解决python关于UnicodeEncodeError: 'gbk' codec can't encode character '\xa3'报错的问题

    运行代码发现系统提示报错:UnicodeEncodeError: 'gbk' codec can't encode character '\xa3' in position 1: illegal mu ...

  7. Python3 解决编码问题: `UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 10: ille

    Python3 解决编码问题: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 10: illega ...

  8. PYTHON3解决‘gbk‘ codec can‘t encode character ‘\xXX‘ in position XX

    站在巨人yq0632的肩膀上 之前写了个爬虫获取一些公司公开的信息,但是在往TXT文件写入的时候偶尔会报错'gbk' codec can't encode character '\xXX' in po ...

  9. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xbb‘ in position 61547 解决办法

    UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 61547: illegal multibyte s ...

  10. 强推!!!解决UnicodeEncodeError: ‘gbk‘ codec can‘t encode character.....: illegal multibyte

    解决pycharm编码报错问题 困扰了好几天的编码问题终于得到了解决,其实问题很简单,当你用pycharm打开一个txt/json/csv文件时,像下面这种: 明明已经指定了编码方式为utf-8为什么 ...

最新文章

  1. 【效率】如何有效提问
  2. ArcGIS Engine 开发中用到的一些命名空间和类
  3. Two conferences重点词汇
  4. Python四道面试题
  5. C# WebBrowser 取 window.open 新窗口 url的方法
  6. 每周.NET前沿技术文章摘要(2017-05-24)
  7. npm install 报错 汇总_2020年特岗教师招聘征集志愿人员资格复审、面试公告汇总...
  8. 计算机考研379分,考研379分报考南开大学被刷,是调剂还是二战?师姐建议非常肯定...
  9. 课时109.外边距合并现象(掌握)
  10. DevExpress Chart空间Y轴归一化(线性归一化函数)
  11. input标签里面的文字位置
  12. 【Codeforces Round #555 (Div. 3) G】Inverse of Rows and Columns【bitset优化暴力...】
  13. 机器视觉检测:电阻电容的二次筛选提高效率及达成环保目的
  14. 计算机桌面调音量的图标不见了,电脑声音图标不见了win7怎么办_win7电脑调音量的图标不见了如何找回-win7之家...
  15. 为什么苹果蓝牙耳机连上还是公放_史上最好用的蓝牙无线耳机?苹果AirPods神奇在哪里!...
  16. 二叉树线索化(C语言)
  17. Servlet异常处理器
  18. Chrome 浏览器安装插件
  19. 280049_CAN 模块
  20. 如何选择企业电脑加密软件,知道这几点一定不后悔!

热门文章

  1. Atitit 软件运行环境平台的变迁 attilax大总结 1.1.Native os时代 1.2.Vm时代 java net php 1.3.Script时代 js node。js 1.4.B
  2. Atitit.获取某个服务 网络邻居列表 解决方案
  3. atitit.spring3 mvc url配置最佳实践
  4. paip.hadoop的应用研究总结
  5. paip.oracle10g dmp文件导入总结
  6. 用户 'sa' 登录失败。 连接SQL2000出现的问题。
  7. 【Rust学习笔记】Rust生命周期参数的详细阐述
  8. 2017年全球ETF发展报告
  9. Julia: SQLite库升级后的操作
  10. 重磅!阿里自研RISC-V处理器玄铁910成功运行安卓10,相关代码开源