From 3bfc65a25ba2e010ef12db0cff006c2cbbeb18f9 Mon Sep 17 00:00:00 2001 From: Alexandre Vassalotti Date: Tue, 13 Dec 2011 13:08:09 -0500 Subject: Issue #13505: Make pickling of bytes object compatible with Python 2. Initial patch by sbt. --- Lib/pickle.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Lib/pickle.py') diff --git a/Lib/pickle.py b/Lib/pickle.py index 1f45f37d46..d10ac776cf 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -487,7 +487,11 @@ class _Pickler: def save_bytes(self, obj, pack=struct.pack): if self.proto < 3: - self.save_reduce(bytes, (list(obj),), obj=obj) + if len(obj) == 0: + self.save_reduce(bytes, (), obj=obj) + else: + self.save_reduce(codecs.encode, + (str(obj, 'latin1'), 'latin1'), obj=obj) return n = len(obj) if n < 256: -- cgit v1.2.1