New submission from Jeffrey Harper <jhar...@yapdc.com>: When a bytes object is pickled with 3.1 and then unpickled with 2.7, the results are incorrect. The example below shows that pickling b'abcdefg' in 3.1 and then unpickling in 2.7 produces the string '[97L, 98L, 99L, 100L, 101L, 102L, 103L]'
The unpickling operation should return 'abcdefg'. C:\decompyle\jtest>c:\Python31\python Python 3.1.3 (r313:86834, Nov 27 2010, 18:30:53) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> file = open('test.pkl', 'wb') >>> import pickle >>> pickle.dump(b'abcdefg', file, 0) >>> exit() C:\decompyle\jtest>c:\python27\python Python 2.7 Stackless 3.1b3 060516 (release27-maint, Jul 22 2010, 18:58:18) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> file = open('test.pkl', 'rb') >>> import pickle >>> pickle.load(file) '[97L, 98L, 99L, 100L, 101L, 102L, 103L]' >>> ---------- components: Library (Lib), Unicode messages: 127735 nosy: jdharper priority: normal severity: normal status: open title: Bytes pickled with 3.1 not unpickled with 2.7 correctly versions: Python 2.7, Python 3.1 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11099> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com