签到成功

知道了

CNDBA社区CNDBA社区

Python 基础教程系列(三)--中文编码

2017-06-06 23:30 1917 0 转载 Python
作者: leo

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

http://www.cndba.cn/leo1990/article/1954

Python 文件中如果未指定编码,在执行过程会出现报错:
http://www.cndba.cn/leo1990/article/1954http://www.cndba.cn/leo1990/article/1954http://www.cndba.cn/leo1990/article/1954

http://www.cndba.cn/leo1990/article/1954
http://www.cndba.cn/leo1990/article/1954

#!/usr/bin/python
print "你好,世界"
以上程序执行输出结果为:
[root@localhost test]# python test.py
  File "test.py", line 2
SyntaxError: Non-ASCII character '/xc4' 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 就行了。

实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-

print "你好,世界"
输出结果为:
你好,世界
所以如果大家在学习过程中,代码中包含中文,就需要在头部指定编码。

注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
注意:如果你使用编辑器,同时需要设置 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。

http://www.cndba.cn/leo1990/article/1954

http://www.cndba.cn/leo1990/article/1954
http://www.cndba.cn/leo1990/article/1954http://www.cndba.cn/leo1990/article/1954

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
leo

leo

关注

坚持你的坚持

  • 202
    原创
  • 0
    翻译
  • 39
    转载
  • 16
    评论
  • 访问:766606次
  • 积分:1270
  • 等级:核心会员
  • 排名:第8名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ