python:Non-ASCII character 'xe5' in file报错问题

有时候,在 Python 脚本里有中文的时候,会报下面的错误:

1 Non-ASCII character '\xe5' in file ……

原因:Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文(或者其他非英语系的语言),此时即使你把自己编写的Python源文件以UTF-8格式保存了,但实际上,这依然是不行的。

解决办法很简单,只要在文件开头加入下面代码就行了。

1 # -*- coding: UTF-8 -*-
2
3 #coding=utf-8

注:此语句一定要添加在源代码的第一行。

几个概念要先搞清楚:

  • 默认的python文件是采用ascii编码的,在头部加入# -*- coding: utf-8 -*-   则指定文件的编码格式是utf-8,那么就是说文件内你可以用中文或其他的文字了。
  • cn = u"中文",这个前缀u代表“中文”是采用unicode编码,也就是cn并不是string而是一个unicode。
  • 当你用print输出的时候会自动根据本地的语言环境转换成string。

你可能感兴趣的:(python:Non-ASCII character 'xe5' in file报错问题)