Python中文编码问题[Python基础]

python

1 note = "中文编码"

2print(note)

[报错信息]

SyntaxError: Non-UTF-8 code starting with "xd6" in file code.py on line 61, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

[出现原因]

字符串在Python内部的表示是Unicode编码。在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode编码(encode)成另一种编码。

decode()函数的作用就是将其他编码的字符串转换成Unicode编码,例如str1.decode("gb2312"),表示将gb2312编码的字符串str1转换成Unicode编码。

encode()函数作用是将Unicode编码转换成其它编码的字符串,例如str2.encode("gb2312"),表示将Unicode编码的字符串str2转换成gb2312编码。转换时,一定要先搞明白字符串是什么编码,然后使用decode()函数将字符串编码改为Unicode编码,然后再使用encode()函数将编码改为其他编码格式。如果是在UTF8的文件中,该字符串就是UTF8编码;如果在gb2312编码的文件中,则其编码为gb2312.(PYTHON WEB开发学习实录)

[解决办法]

[参考资料] http://python.org/dev/peps/pep-0263/

以上是 Python中文编码问题[Python基础] 的全部内容, 来源链接: utcz.com/z/530316.html

回到顶部