我从网站上学到,当我想要输入友好的Unicode字符时,我应该在Python中添加代码声明:http://www.python.org/dev/peps/pep-0263/,但我仍然感到困惑。
假设我在Linux上使用vim工作,并创建一个新的py文件,输入以下代码:
#!/usr/bin/python2.7
# -*- coding: utf8 -*-
s = u'ޔ'
print s
1. 我尝试用以下代码替换第2行:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
但它不起作用,它们不是一样的吗?
2。我不太熟悉Linux,真的不知道为什么应该在代码声明的开头和结尾添加_*_
,当我尝试用# code=utf8
或# code: utf8
替换# -*- coding: utf8 -*-
时,我遇到了错误:
File "pythontest.py", line 3
SyntaxError: Non-ASCII character '\xde' in file pythontest.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
但是这些代码声明在网站http://www.python.org/dev/peps/pep-0263/中提到!
根据文档,以下代码声明是允许的:
# This Python file uses the following encoding: utf-8
哎呀,这是什么?我觉得电脑无法识别它。该声明什么代码呢?我感到越来越困惑。
谢谢帮助。
sys.setdefaultencoding
存在问题的情况。 - mac