Python中文编码知识点

yipeiwu_com6年前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 的 = 号两边不要空格。

#!/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。

相关文章

Python random模块常用方法

复制代码 代码如下: import random print random.random() 获取一个小于1的浮点数 复制代码 代码如下: import random random.r...

python实现朴素贝叶斯分类器

本文用的是sciki-learn库的iris数据集进行测试。用的模型也是最简单的,就是用贝叶斯定理P(A|B) = P(B|A)*P(A)/P(B),计算每个类别在样本中概率(代码中是p...

python方向键控制上下左右代码

python方向键控制上下左右代码

本文所示代码实现python编程方向键控制图片上下左右,我们首先看下演示结果。 演示: 实例代码: bif="1.jpg" mif="2.jpg" import pygame,...

python链接oracle数据库以及数据库的增删改查实例

初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节。 1.首先,python链接oracle数据库需要配置好环境。...

Pycharm 2020最新永久激活码(附最新激活码和插件)

Pycharm 2020最新永久激活码(附最新激活码和插件)

最近很多人的Pycharm激活时间又过期了,很多人索要激活码,我就再把激活的方法汇总和工具再梳理一次给大家。 最主要有两种激活方式(两种方式需要的激活码不同): Pycharm最新的激活...