UnicodeEncodeError:“ascii”编解码器无法编码字符u'\xe9'

2024-09-26 22:12:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python从bingapi获取json数据

    accountKeyEnc = base64.b64encode(accountKey + ':' + accountKey)
    headers = {'Authorization': 'Basic ' + accountKeyEnc}
    req = urllib2.Request(bingUrl, headers = headers)
    response = urllib2.urlopen(req)
    content = response.read()
    data = json.loads(content)
    for i in range(0,6):
            print data["d"]["results"][i]["Description"]

但我搞错了

print data["d"]["results"][0]["Description"] UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 11: ordinal not in range(128)


Tags: injsondataresponserangedescriptioncontenturllib2
1条回答
网友
1楼 · 发布于 2024-09-26 22:12:58

你的问题是你从bingapi读取Unicode,但是却没有把它显式地转换成ASCII。两者之间并不存在良好的映射关系。在所有const字符串前面加上u前缀,这样它们就会被视为Unicode字符串,看看这是否有帮助。在

相关问题 更多 >

    热门问题