• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python转码问题的解决方法

Python转码问题的解决方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python解决数学问题,python解决问题,python编码问题,python缩进问题,python安装问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作
s.decode('gbk').encode('utf-8′)
可是,在实际开发中,我发现,这种办法经常会出现异常:
UnicodeDecodeError: ‘gbk' codec can't decode bytes in position 30664-30665: illegal multibyte sequence
这 是因为遇到了非法字符——尤其是在某些用C/C++编写的程序中,全角空格往往有多种不同的实现方式,比如\xa3\xa0,或者\xa4\x57,这些 字符,看起来都是全角空格,但它们并不是“合法”的全角空格(真正的全角空格是\xa1\xa1),因此在转码的过程中出现了异常。
这样的问题很让人头疼,因为只要字符串中出现了一个非法字符,整个字符串——有时候,就是整篇文章——就都无法转码。

解决办法:
s.decode('gbk', ‘ignore').encode('utf-8′)
因为decode的函数原型是decode([encoding], [errors='strict']),可以用第二个参数控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;
如果设置为ignore,则会忽略非法字符;
如果设置为replace,则会用?取代非法字符;
如果设置为xmlcharrefreplace,则使用XML的字符引用。

python文档

decode( [encoding[, errors]])
Decodes the string using the codec registered for encoding. encoding defaults to the default string encoding. errors may be given to set a different error handling scheme. The default is 'strict', meaning that encoding errors raise UnicodeError. Other possible values are 'ignore', 'replace' and any other name registered via codecs.register_error, see section 4.8.1. </div>

您可能想查找下面的文章:

  • Python中遇到的小问题及解决方法汇总
  • Python中遇到的小问题及解决方法汇总
  • python解决方案:WindowsError: [Error 2]
  • 自己编程中遇到的Python错误和解决方法汇总整理
  • Python转码问题的解决方法

相关文章

  • Python抓取京东图书评论数据
  • 在Django的模型中添加自定义方法的示例
  • 完美解决Python2操作中文名文件乱码的问题
  • Python 连连看连接算法
  • pyv8学习python和javascript变量进行交互
  • Python中的列表生成式与生成器学习教程
  • python基础教程之循环介绍
  • 简单介绍使用Python解析并修改XML文档的方法
  • Python多线程编程(二):启动线程的两种方法
  • 使用Python编写一个在Linux下实现截图分享的脚本的教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详细解读Python中解析XML数据的方法
    • Python实现telnet服务器的方法
    • Python的ORM框架SQLObject入门实例
    • python实现按任意键继续执行程序
    • python实现代码行数统计示例分享
    • Python3基础之基本数据类型概述
    • python中异常捕获方法详解
    • Python中使用摄像头实现简单的延时摄影技术
    • Python实现运行其他程序的四种方式实例分析
    • python脚本设置系统时间的两种方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有