python中文编码的问题详解及示例

774次阅读
没有评论

编码一直是python编程里一个头疼的问题,随着python的不断更新,问题稍好,但是还未解决,针对这个问题,来看下以下关于编码内容,有没有大家需要的吧~

我们已经介绍了如何用 Python 输出 “Hello, World!”,英文没有问题,但是如果你输出中文字符 “你好,世界” 就有可能会碰到中文编码问题。

Python 文件中如果未指定编码,在执行过程会出现报错:

#!/usr/bin/python
print ("你好,世界")

以上程序执行输出结果为:

  File "test.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

解决方法:

只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了

注意:# coding=utf-8 的 = 号两边不要空格。

实例(Python 2.0+)

python中文编码的问题详解及示例

输出结果为:

你好,世界

所以如果大家在学习过程中,代码中包含中文,就需要在头部指定编码。

总结:

1、注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。

2、注意:如果你使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8,否则会出现类似以下错误信息:

SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0: invalid continuation byte

Pycharm 设置步骤:

进入 file > Settings,在输入框搜索 encoding。找到 Editor > File encodings,将 IDE Encoding 和 Project Encoding 设置为utf-8。

如需了解更多python实用知识。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-06-05发表,共计899字。
新手QQ群:570568346,欢迎进群讨论 Python51学习