我正在尝试从Steam库存中获取JSON。我得到这样的数据:
def downloadString(url):
req = urllib.request.Request(
url,
data=None,
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
}
)
f = urllib.request.urlopen(req)
return f.read().decode("utf-8")
现在,我遇到编码问题。 Steam正在使用像“黑星”('\ u2605')这样的符号,导致json部分崩溃:
def test(string):
print(json.loads(string))
test(downloadString(url))
文件“C:\ Python34 \ lib \ encodings \ cp1252.py”,第19行,编码 return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError:'charmap'编解码器无法编码位置83559中的字符'\ u2605':字符映射到
我真的不明白我怎么能做别的事......任何帮助都会有帮助。
答案 0 :(得分:0)
JSON可以用UTF-8,UTF-16或UTF-32中的任何一种编码。我会尝试解码为UTF-16而不是UTF-8。