diff --git a/Lib/pickle.py b/Lib/pickle.py
index c158b8d..9570dd4 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -506,20 +506,6 @@
         self.memoize(obj)
     dispatch[str8] = save_string
 
-    def save_bytes(self, obj):
-        # Like save_string
-        if self.bin:
-            n = len(obj)
-            if n < 256:
-                self.write(SHORT_BINSTRING + bytes([n]) + bytes(obj))
-            else:
-                self.write(BINSTRING + pack("<i", n) + bytes(obj))
-        else:
-            # Strip leading 'b'
-            self.write(STRING + bytes(repr(obj).lstrip("b")) + b'\n')
-        self.memoize(obj)
-    dispatch[bytes] = save_bytes
-
     def save_unicode(self, obj, pack=struct.pack):
         if self.bin:
             encoded = obj.encode('utf-8')
@@ -945,12 +931,12 @@
                 break
         else:
             raise ValueError, "insecure string pickle"
-        self.append(bytes(codecs.escape_decode(rep)[0]))
+        self.append(str(codecs.escape_decode(rep)[0], "latin-1"))
     dispatch[STRING[0]] = load_string
 
     def load_binstring(self):
         len = mloads(b'i' + self.read(4))
-        self.append(self.read(len))
+        self.append(str(self.read(len), "latin-1"))
     dispatch[BINSTRING[0]] = load_binstring
 
     def load_unicode(self):
@@ -964,7 +950,7 @@
 
     def load_short_binstring(self):
         len = ord(self.read(1))
-        self.append(self.read(len))
+        self.append(str(self.read(len), "latin-1"))
     dispatch[SHORT_BINSTRING[0]] = load_short_binstring
 
     def load_tuple(self):
