這是一個錯誤?json.dumps(pickle.dumps(u'å'))引發UnicodeDecodeError
>>> import json
>>> import cPickle
>>> json.dumps(cPickle.dumps(u'å'))
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/json/__init__.py", line 230, in dumps
return _default_encoder.encode(obj)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/json/encoder.py", line 361, in encode
return encode_basestring_ascii(o)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 1-3: invalid data
的錯誤不會在2.6.4發生我。什麼補丁版本?也許封閉和假裝 - 它的一個沒有bug的bug在2.6以後的版本中被修正了。 – 2010-10-09 00:29:54
@Glenn Maynard:我正在使用2.6.5:P – satoru 2010-10-09 00:33:41
無論sys.getdefaultencoding如何,也發生在2.6.6中。 'cPickle.dumps(u'å')''返回''V \ xe5 \ n.'',而不是'V \ u00e5 \ n.''。我很好奇你爲什麼返回後者(這是正確的輸出:完全是ASCII)。 – 2010-10-09 00:38:12