1 note = "中文编码" 2 print(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开发学习实录)
[解决办法]