UnicodeDecodeError: 'utf8' codec can't decode bytes in position 3-6: invalid data UnicodeDecodeError:'utf8'编解码器无法解码位置3-6的字节:无效数据。

12 浏览
0 Comments

UnicodeDecodeError: 'utf8' codec can't decode bytes in position 3-6: invalid data UnicodeDecodeError:'utf8'编解码器无法解码位置3-6的字节:无效数据。

Python2中的Unicode是如何工作的?我真的不明白。

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

跟踪(最近的调用最先):
  文件“/usr/local/lib/python2.6/dist-packages/eventlet-0.9.12-py2.6.egg/eventlet/hubs/poll.py”,第92行,在等待
    读者.get(fileno,noop).cb(fileno)
  文件“/usr/local/lib/python2.6/dist-packages/eventlet-0.9.12-py2.6.egg/eventlet/greenthread.py”,第202行,在主要
    结果=函数(*args,**kwargs)
  文件“android_suggest.py”,第60行,在抓取
    建议=建议(字符)
  文件“android_suggest.py”,第28行,在建议
    返回[为i的['s'] json.loads(opener.open('https://market.android.com/suggest/SuggRequest?json=1&query='+s+'&hl=de&gl=DE')。读取()]
  文件“/usr/lib/python2.6/json/__init__.py”,第307行,加载
    返回_default_decoder.decode(s)
  文件“/usr/lib/python2.6/json/decoder.py”,第319行,解码
    obj,end=self.raw_decode(s,idx=_w(s,0).end())
  文件“/usr/lib/python2.6/json/decoder.py”,第336行,raw_decode
    obj,end=self._scanner.iterscan(s,**kw)。下一个()
  文件“/usr/lib/python2.6/json/scanner.py”,第55行,在iterscan
    rval,next_pos=action(m,context)
  文件“/usr/lib/python2.6/json/decoder.py”,第217行,在JSONArray
    value,end=iterscan(s,idx=end,context=context)。下一个()
  文件“/usr/lib/python2.6/json/scanner.py”,第55行,在iterscan
    rval,next_pos=action(m,context)
  文件“/usr/lib/python2.6/json/decoder.py”,第183行,在JSONObject
    value,end=iterscan(s,idx=end,context=context)。下一个()
  文件“/usr/lib/python2.6/json/scanner.py”,第55行,在iterscan
    rval,next_pos=action(m,context)
  文件“/usr/lib/python2.6/json/decoder.py”,第155行,在JSONString
    返回scanstring(匹配字符串,匹配结束,编码,严格)
UnicodeDecodeError:'utf8'编解码器无法解码位置3-6的字节:无效的数据

谢谢!

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

0