Discuss / Python / 编码问题

编码问题

#encoding:UTF-8
import urllib.request
m=open('/Users/HYN/Desktop/url.txt','wb')
def getdata():
    #url="http://www.zhihu.com/question/19794858#answer-313278"
    url="http://www.sina.com"
    data=urllib.request.urlopen(url).read()
    data=data.decode("UTF-8")
    print(data)
    m.write(data)
    m.close()
getdata()

我在使用sublime编译的时候总是报错。 UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

或是

UnicodeEncodeError: 'ascii' codec can't encode characters in position 85-89: ordinal not in range(128)

用终端偶尔也会报错,但是用idle就不会,不知道哪里除了问题,麻烦解答一下。

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

代码中不要出现中文字符,如果出现了,保存的时候要用utf-8,文件头要申明utf-8编码


  • 1

Reply