python解码中文文本报错的解决办法

1.报错内容

UnicodeDecodeError: 'gbk' codec can't decode bytes in position 50-51:illegal multibyte sequence

2.问题背景

  • python脚本解码vaps xt的含中文配置文件时 报上述错误。
  • vaps xt配置文件部分内容如下:
<?xml version="1.0" encoding="UTF-8"?>
……
<prop name="DataString" capacity="11">自动</prop>
……
  • python脚本的部分代码如下:
if "DataString" in line:ustr = line.decode('gbk')……

3.原因分析
vaps xt配置文件采用UTF-8编码方式,而python对其采用了gbk解码,编解码不一致导致了上述错误的产生。
4.解决办法
先确认原文件的编码方式,再明确现在对原文件的解码方式,然后要保证编码方式与解码方式要一致,python脚本修改如下所示:

if "DataString" in line:ustr = line.decode('utf-8').encode('gbk').decode('gbk')……

python解码中文文本报错的解决办法相关推荐

  1. 【ML/DL】python3学习《机器学习实战》书中的报错及解决办法

    python3学习<机器学习实战>书中的报错及解决办法(更新中) <机器学习实战>是一本很不错的书,其采用的是py2的语法格式,在用最新的python3.6编写代码的过程中,书 ...

  2. java开发报错怎么处理_Java开发中常见报错及解决办法

    前言: 在项目开发中,往往会遇到很多错误,有些是代码有误,而有些则是其他原因.接下来一起看看常见的报错及解决办法(小白整理,大牛勿喷). 一.找不到Xxx.Xxx.entity.Xxx.java 最近 ...

  3. python中unexpected indent报错的解决办法

    python中unexpected indent报错的解决办法 在我们初步学习pyton的时候,由于对python语言的学习掌握不充分,则会导致所编写的代码,运行时候报错.比如,容易报错的unexpe ...

  4. GitLabCICD实战----在.gitlab-ci.yml文件的步骤中使用git clone 另一个代码仓报错的解决办法

    更多信息请关注 个人网站 一.背景 在有些时候,比如在一个项目中,产品的代码是java代码仓,自动化测试脚本是python语言,单独存放的代码仓,在使用GitlabCICD构建流水线的时候有这样一种场 ...

  5. Python 爬虫中国知网论文过程中遇到的坑及解决办法

    假期,老师给布置了 Python 爬虫中国知网论文的任务,目前实现了登录和搜索功能,先写一下遇到的坑和解决办法吧. Python 爬虫中国知网论文过程中遇到的坑及解决办法 一. selenium 模块 ...

  6. python官方-Python官方中文文档强势来袭

    原标题:Python官方中文文档强势来袭 Python 官方支持的文档一直没有中文.小伙伴们已经习惯了原汁原味的英文文档,但如果有官方中文文档,对于初学者来说,门槛会大大的降低.现在中文文档强势来袭 ...

  7. ibatis mysql 同时删多个表报错_MySQL中Multiple primary key defined报错的解决办法

    MySQL中Multiple primary key defined报错的解决办法 创建主键可以有两种方式: create table 表名( 字段名 类型, 字段名 类型, -- primary k ...

  8. Pycharm中无法导入各种Python模块,pip不能更新的解决办法

    一.Pycharm中无法导入各种Python模块,pip不能更新的解决办法 1.先用python -m pip uninstall pip 将之前版本的pip卸载 2.在官网上下载pip压缩包,记得下 ...

  9. “this”不能在常量表达式中使用报错的解决方法

    "this"不能在常量表达式中使用报错的解决方法 问题描述与思考 在用C++书写下面一段代码时,编译器报错"'this'不能在常量表达式中使用".在这里,我最开 ...

最新文章

  1. 分享一个SQLite 性能优化实例
  2. pandas使用to_sql方法将dataframe注册为数据库表进行数据整合和数据清洗并不对比SQL操作和dataframe操作
  3. mysql 中eq_表达式中的运算符EQ NE GT GE LT LE…..
  4. EHcache缓存框架详解
  5. vs2015移植linux编译,windows平台移植(原linux项目)时,用vs2015开发,碰到的问题及处理方案记录...
  6. 利用GitHub搭建一个酷炫免费的个人博客
  7. 亲测!这款耳机性价比堪比 AirPods
  8. Oracle RAC的Failover
  9. 数字信号处理--7.3--FFT算法
  10. Linux netstat常用命令
  11. [HZOI 2016]tree—增强版
  12. 保障4-0618任务打卡
  13. 02. Win32 API简介
  14. linux内核教学的全套视频,中科大Linux内核分析视频教程下载,共计23集
  15. PCB布线宽度与 mil与mm转换 等技巧
  16. Spring Bean的作用域
  17. 金融数据安全分类分级解决方案
  18. 数据结构 —— 队列
  19. 【Bugs】Hbase:File system needs to be upgraded. You have version null and I want version(habse缓冲问题)
  20. 读书笔记12 《新周刊485期 三商:智商、情商、时间商》

热门文章

  1. 7.2 摩斯密码(project)(已更新)
  2. 国开电大 传感器与测试技术 形考任务
  3. c语言习题 定义函数 areaT,功能是求梯形面积。要求在主函数中输入上底(用变量 a存储)、下底(用变量 b 存储)、和高(用变量 h 存储),在主函数中调用函数 areaT,输出梯形面积(用变量
  4. Golang json解析踩坑
  5. 淘宝网店经营场所证明如何下载
  6. mongodb学习笔记-tina
  7. 利用iframe下载文件
  8. 【铝模板配模设计】鸿业铝巨人让您将节省下的时间去陪伴您的爱人~
  9. python3从零学习-5.5.4、xdrlib — 编码与解码 XDR 数据
  10. 如何把CAJ文件转换为PDF?