UnicodeDecodeError:“ utf8”编解码器无法解码位置3-6中的字节:无效数据

ihucos:

unicode是如何在python2上工作的?我就是不明白。

在这里,我从服务器下载数据并解析为JSON。

Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/eventlet-0.9.12-py2.6.egg/eventlet/hubs/poll.py", line 92, in wait
    readers.get(fileno, noop).cb(fileno)
  File "/usr/local/lib/python2.6/dist-packages/eventlet-0.9.12-py2.6.egg/eventlet/greenthread.py", line 202, in main
    result = function(*args, **kwargs)
  File "android_suggest.py", line 60, in fetch
    suggestions = suggest(chars)
  File "android_suggest.py", line 28, in suggest
    return [i['s'] for i in json.loads(opener.open('https://market.android.com/suggest/SuggRequest?json=1&query='+s+'&hl=de&gl=DE').read())]
  File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.6/json/decoder.py", line 336, in raw_decode
    obj, end = self._scanner.iterscan(s, **kw).next()
  File "/usr/lib/python2.6/json/scanner.py", line 55, in iterscan
    rval, next_pos = action(m, context)
  File "/usr/lib/python2.6/json/decoder.py", line 217, in JSONArray
    value, end = iterscan(s, idx=end, context=context).next()
  File "/usr/lib/python2.6/json/scanner.py", line 55, in iterscan
    rval, next_pos = action(m, context)
  File "/usr/lib/python2.6/json/decoder.py", line 183, in JSONObject
    value, end = iterscan(s, idx=end, context=context).next()
  File "/usr/lib/python2.6/json/scanner.py", line 55, in iterscan
    rval, next_pos = action(m, context)
  File "/usr/lib/python2.6/json/decoder.py", line 155, in JSONString
    return scanstring(match.string, match.end(), encoding, strict)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 3-6: invalid data

谢谢!!

编辑:以下字符串导致错误:'[{"t":"q","s":"abh\xf6ren"}]'\xf6应该解码为ö(abhören)

TadeuszA.Kadłubowski:

您尝试解析为JSON的字符串未使用UTF-8编码。它很可能是在ISO-8859-1中编码的。请尝试以下操作:

json.loads(unicode(opener.open(...), "ISO-8859-1"))

它将处理JSON消息中可能出现的所有变音符号。

您应该阅读Joel Spolsky的《每个软件开发人员的绝对最低知识》,绝对肯定要了解Unicode和字符集(无借口!)我希望它可以澄清您在Unicode方面遇到的一些问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

UnicodeDecodeError:“ utf8”编解码器无法解码位置1的字节0xa9

UnicodeDecodeError:'utf8'编解码器无法解码位置34的字节0xc3:数据意外结束

Google SDK gcloud 崩溃(UnicodeDecodeError):“utf8”编解码器无法解码位置 29 中的字节 0xf8:起始字节无效

json.dump-UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0xbf:无效的起始字节

UnicodeDecodeError:“ utf8”编解码器无法解码位置0的字节0xa5:无效的起始字节

App Engine-Python:UnicodeDecodeError:“ utf8”编解码器无法解码位置1的字节0xe1:无效的连续字节

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 3 中的字节 0x95:无效的起始字节 (Python) 套接字编程

发生异常:UnicodeDecodeError'utf-8'编解码器无法解码位置的字节0xf1

UnicodeDecodeError:'utf-8'编解码器无法解码位置1的字节0xe3:无效的继续字节

烧瓶UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0xb3:无效的起始字节

如何解决UnicodeDecodeError:'utf-8'编解码器无法解码位置3的字节0xa1:无效的起始字节?

Python3:UnicodeDecodeError:'utf-8'编解码器无法解码位置 1 的字节 0x83:无效的起始字节

UnicodeDecodeError:“ utf-8”编解码器无法解码位置6的字节0xe1:无效的连续字节

错误 UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0xff:套接字编程中的无效起始字节

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 2 中的字节 0xbe:起始字节无效

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0x80:起始字节无效

“UnicodeDecodeError:‘utf-8’编解码器无法解码位置 2491 中的字节 0xad:起始字节无效”

Gensim W2V - UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0x80:起始字节无效

python UnicodeDecodeError:“ utf8”编解码器无法解码字节

UnicodeDecodeError:“ utf-8”编解码器无法解码位置65534-65535中的字节:数据意外结束

UnicodeDecodeError:“ utf-8”编解码器无法解码位置1023中的字节0xe2:数据意外结束

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 127 中的字节 0xd0:数据意外结束

UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0x9d:执行b.decode()时无效的起始字节

Robot_framework UnicodeDecodeError:'utf-8'编解码器无法解码位置42的字节0xe0:无效的连续字节

错误UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0xff:无效的起始字节

UnicodeDecodeError:'utf-8'编解码器无法解码位置35的字节0x96:无效的起始字节

UnicodeDecodeError:'utf-8'编解码器无法解码位置14的字节0xb9:无效的起始字节

UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0x90:无效的起始字节

pip install和UnicodeDecodeError:'utf-8'编解码器无法解码位置9的字节0xe0:无效的连续字节