sbt <shibt...@gmail.com> added the comment: > sbt, the bug is not that the encoding is inefficient. The problem is we > cannot unpickle bytes streams from Python 3 using Python 2.
Ah. Well you can do it using codecs.encode. Python 3.3.0a0 (default, Dec 8 2011, 17:56:13) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import pickle, codecs >>> >>> class MyBytes(bytes): ... def __reduce__(self): ... return codecs.encode, (self.decode('latin1'), 'latin1') ... >>> pickle.dumps(MyBytes(b"hello"), 2) b'\x80\x02c_codecs\nencode\nq\x00X\x05\x00\x00\x00helloq\x01X\x06\x00\x00\x00latin1q\x02\x86q\x03Rq\x04.' Actually, I notice that array objects created by Python 3 are not decodable on Python 2. See Issue 13566. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue13505> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com