UnicodeEncodeError:'ascii'编解码器不能编码字符u'\ xe9'

时间:2015-02-12 19:23:10

标签: python unicode

我使用python从bing api获取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"]

但我收到了错误

  

打印数据[" d"] ["结果"] [0] ["说明"]       UnicodeEncodeError:' ascii'编解码器不能对字符u' \ xe9'进行编码。位置11:序数不在范围内(128)

1 个答案:

答案 0 :(得分:0)

您的问题是您正在从Bing API读取Unicode,然后无法将其显式转换为ASCII。两者之间不存在良好的映射。使用u为所有const字符串添加前缀,以便将它们视为Unicode字符串,看看是否有帮助。