UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xa0‘ in position 21: illegal multibyte sequ
关于python的pywinaotu库print_control_identifiers()因为获取内容有'\xa0'而报错
报错内容:
UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 21: illegal multibyte sequ
看了相关报错解决方案,大概问题和解决方案如下:
意思是将Unicode字符编码转为GBK时候出现了问题,可能是本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符;
所以我头脑中萌生出的第一种解决办法是把那些无法转换为GBK编码的字符给删了,转换不了的字符在报错中也说明了是’\xa0‘这个东西。于是我就修改了下代码。
原文链接:https://blog.csdn.net/qq_26082507/article/details/121537594
我出现这个报错是在使用pywinaotu这个库的print_control_identifiers()获取控件信息时,添加了filename的参数报错控件为txt文件是出现的。
print_control_identifiers(filename=r'D:/xxx/xxx/xxx.txt')
报错信息如下 :
UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 21: illegal multibyte sequence
解决方案:
一开始更改源库的保存编码都还是报这个错误。后面看到某博主分享的解决方案大概能知道怎么修改这个bug。
使用print_control_identifiers()获取控件信息时即使有‘\xa0’也不会报错,也能正常显示出来。
就是在print_control_identifiers(filename=r'D:/xxx/xxx/xx.txt')添加了filename这个参数之后会报错,通过更改源库写入数据时的这个数据进行replace更改写入的数据。
更改的文件是codecs.py
def write(self, data):return self.writer.write(data)
更改为:
def write(self, data):return self.writer.write(data.replace(u'xa0', u' ').replace('\xa0', "\n"))
之后再运行print_control_identifiers(filename=r'D:/xxx/xxx/xx.txt')保存获取的控件信息也不会报错了。
UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xa0‘ in position 21: illegal multibyte sequ相关推荐
- UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xee‘ in position 71: illegal multibyte sequ
成功解决:UnicodeEncodeError: 'gbk' codec can't encode character '\xee' in position 71: illegal multibyte ...
- UnicodeEncodeError: 'gbk' codec can't encode character '\xeb' in position 20: illegal multibyte sequ
源代码:with open (os.path.join(self.root,filename),mode='w',newline='') as f: writer=csv.writer(f) for ...
- UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xe2‘ in position 26: illegal multibyte sequ
在用python将读入json文件并写入csv文件时遇到如下报错: 查了很多帖子发现是读入文件时编码的错误,尝试改成'utf-8'\'gb18030' 等都依然报错 改成encoding='gb231 ...
- UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xe7‘ in position 295: illegal multibyte seq
解决UnicodeEncodeError: 'gbk' codec can't encode character '\xe7' in position 295: illegal multibyte s ...
- UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u0467‘ in position 0: illegal multibyte解决方案
大家好,我是herosunly.985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用.曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名.拥有多项发明专利.对机器学 ...
- UnicodeEncodeError: 'gbk' codec can't encode character '\u200b' in position 0: illegal multibyte seq
python 在写入文件的时候,会出现这个问题: 主要是我们在进行写入的时候没有进行编码设置,因为在windows下,新文件的默认编码是gbk编码,所以我们在写入文件的时候需要设置一个编码格式,如下: ...
- UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 314810: illegal multibyte
遇到这个错误,在网上找了很久.大家都说的是原理为啥会这样,首先确定这是特殊字符,一般用不上,不需要.这就简单了,用正表达式把它删除了就可以了 比如出错的就是:\xa9 这个字符 # 这个一般都是需要输 ...
- 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 ...
- 解决python UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xb5‘ in position 255: illegal mult
UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd' in position 373: illegal multibyte s ...
最新文章
- hive中array嵌套map以及行转列的使用
- PyTorch学习笔记(二)——回归
- python 带随机指针的链表深度复制_LeetCode:复制带随机指针的链表
- mfs分布式存储+master端高可用
- 直接调用支持ACE的product search API
- 凭借K2 SmartObject框架,在SharePoint中集成数据
- Git Proxy开关
- python中类怎么理解_Python中的列表理解
- CKEditor的使用,并实现图片上传
- Docker删除/停止容器
- VUE源码相关面试题汇总
- WPS Excel表格安装宏插件
- 华为推送-华为PUSH SDK Android版接入方法
- yaml 变量引用_yaml语法简介
- 在centos8环境下用asterisk18配置pjsip和webrtc音视频通话教程(一)
- 加速基因测序进程,北鲲云高性能计算平台再发力
- 解决CPLEX安装后无法运行代码,报错乱码(错误显示:ÔËÐÐÅäÖá°配置 1¡±²»´æÔڡ£)
- 对开发框架的浅显认识
- 浙江大学计财处预约报销流程
- 201671030109 韩艳艳 实验三作业互评与改进报告