原帖:http://www.cnblogs.com/jingleguo/archive/2008/06/02/1211820.html
当python中间处理非ASCII编码时,经常会出现如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
0x??是超出128的数字,python在默认的情况下认为语言的编码是ascii编码,所以无法处理其他编码,需要设置python的默认编码为所需要的编码。
一个解决的方案是在代码中添加:
import sys
reload(sys)
sys.setdefaultencoding('gb2312')
另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py
文件(sitecustomize.py is a special script; Python will try to import it on startup, so any code in it will be run automatically.),输入:
import sys
sys.setdefaultencoding('gb2312')
这样就能够自动的设置编码了。
ps:
1. utf8的编码是:utf-8
2. 测试已经成功的方法:
>>> import sys
>>> sys.getdefaultencoding()
分享到:
相关推荐
总之,尽管Python默认的源代码编码是ASCII,但可以通过一些方式设置默认编码为UTF-8,如修改`sitecustomize.py`文件或在代码中显式处理编码。同时,理解Python的编码处理机制和相关模块的使用,对于编写健壮的多语言...
如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。(python3已经没有这个问题了,python3默认的文件编码是UTF-8) 必须将编码注释放在第一行或者第二行,...
在处理包含非英文字符(如中文、日文等)的文件时,如果不了解文件的编码格式,直接使用默认编码进行读取可能会导致错误的结果。例如,如果一个文件使用的是`GB2312`编码,但你使用`UTF-8`编码去读取它,那么文件中...
Python作为一种广泛使用的高级编程语言,其编码规范对于确保代码的可读性和一致性至关重要。Google作为业界领先的公司之一,发布了一份详细的Python编码规范指南,旨在帮助开发者编写高质量、易维护的Python代码。...
这是Python 3默认的字符串编码方式,能够支持多种语言和特殊字符,非常适合国际化项目。 #### 四、导入 合理组织和管理导入语句同样重要: - **按照标准库、第三方库、本地模块的顺序排列导入语句**。 - **避免...
python默认的zipfile模块的文件列表只支持cp437和UTF8两种编码,而中文操作系统中zip常使用gbk来存储文件列表,这使得使用python解压zip会乱码,需要读取ZipInfo逐个解压文件并且重命名,并且乱码中可能会出现非法...
本文档提供了一个详细的 Python 编码规范,涵盖了 Python 语言规则、Python 风格规则、代码编写风格、注释、类、字符串、TODO 注释、导入格式、语句控制、命名等多个方面,对 Python 程序员非常有价值。
在 Python 中,默认的缩进符号是四个空格,避免使用 Tab 键。 Tab 键还是空格 在 Python 中,Tab 键和空格都是可以使用的缩进符号,但是为了避免混乱,建议使用四个空格作为缩进符号。 行的最大长度 代码行的最大...
在Python编程语言中,处理中文字符编码是一个重要的概念,特别是在涉及到多国语言或者非英文文本时。本篇文章将深入探讨Python中的中文编码格式及其操作,帮助开发者理解和解决相关的编码问题。 首先,我们要明白的...
解决办法是将Python的默认编码设置为UTF-8,例如: ```python import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') ``` 四、文件与网络资源的编码处理 - 本地文件编码:在...
Python作为一种广泛应用的编程语言,其编码规范对于维护代码的可读性和一致性至关重要。Python官方提供的编码规范不仅有助于开发者编写高质量的代码,还能确保整个社区遵循相同的准则,从而提高合作效率。 #### 二...
总的来说,Python 2.7中的编码问题是一个复杂但重要的主题,开发者需要理解字符串类型、字符编码、操作系统默认编码以及Python解释器的默认编码之间的关系,以避免出现乱码和解析错误。正确地处理编码和解码是编写可...
1. **默认编码**: Python2默认使用ASCII编码,这是非常基础的编码系统,不支持中文字符。当你尝试处理包含中文字符的字符串时,可能会遇到乱码问题。 2. **字符串类型**: Python2中有两种字符串类型,`str`和`...
- 在Python 3.x中推荐使用UTF-8作为默认编码。字符串应该用单引号`' '`或双引号`" "`包围。在Python 2.x中,推荐使用Unicode字符串,可以通过在字符串前加上`u`前缀来实现。 #### TODO注释 - 使用TODO注释标记待办...
如果你使用的是如 PyCharm 这样的IDE(集成开发环境)或其他编辑器,还需要确保编辑器的文件编码设置与你的Python脚本一致。例如,在PyCharm中设置项目编码为UTF-8: - 打开 `File > Settings` (Windows/Linux) 或 ...
### Python编码风格指南详解 #### 一、Python语言方面的准则 **1.1 Python语言方面的准则** ##### 1.1.1 pychecker Pychecker是一个静态分析工具,用于检查Python代码中的潜在错误。它能够检测出如未定义的变量...