diff --git a/Lib/encodings/base64_codec.py b/Lib/encodings/base64_codec.py
index f84e780..e6a1e65 100644
--- a/Lib/encodings/base64_codec.py
+++ b/Lib/encodings/base64_codec.py
@@ -21,7 +21,7 @@
 
     """
     assert errors == 'strict'
-    output = base64.encodestring(input)
+    output = bytes(base64.encodestring(input))
     return (output, len(input))
 
 def base64_decode(input,errors='strict'):
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index f2c9579..53a3ddb 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -1102,10 +1102,10 @@
 
     if test_support.have_unicode:
         def test_encoding_decoding(self):
-            codecs = [('rot13', 'uryyb jbeyq'),
-                      ('base64', 'aGVsbG8gd29ybGQ=\n'),
-                      ('hex', '68656c6c6f20776f726c64'),
-                      ('uu', 'begin 666 <data>\n+:&5L;&\\@=V]R;&0 \n \nend\n')]
+            codecs = [('rot13', b'uryyb jbeyq'),
+                      ('base64', b'aGVsbG8gd29ybGQ=\n'),
+                      ('hex', b'68656c6c6f20776f726c64'),
+                      ('uu', b'begin 666 <data>\n+:&5L;&\\@=V]R;&0 \n \nend\n')]
             for encoding, data in codecs:
                 self.checkequal(data, 'hello world', 'encode', encoding)
                 self.checkequal('hello world', data, 'decode', encoding)
@@ -1115,7 +1115,7 @@
             except ImportError:
                 pass
             else:
-                data = 'x\x9c\xcbH\xcd\xc9\xc9W(\xcf/\xcaI\x01\x00\x1a\x0b\x04]'
+                data = b'x\x9c\xcbH\xcd\xc9\xc9W(\xcf/\xcaI\x01\x00\x1a\x0b\x04]'
                 self.checkequal(data, 'hello world', 'encode', 'zlib')
                 self.checkequal('hello world', data, 'decode', 'zlib')
 
diff --git a/Lib/test/test_str.py b/Lib/test/test_str.py
index 2936dca..be26b24 100644
--- a/Lib/test/test_str.py
+++ b/Lib/test/test_str.py
@@ -29,9 +29,6 @@
 
     def test_conversion(self):
         # Make sure __str__() behaves properly
-        class Foo0:
-            def __unicode__(self):
-                return "foo"
 
         class Foo1:
             def __str__(self):
@@ -45,15 +42,15 @@
             def __str__(self):
                 return "foo"
 
-        class Foo4(str):
+        class Foo4(str8):
             def __str__(self):
                 return "foo"
 
         class Foo5(str):
-            def __str__(self):
+            def __unicode__(self):
                 return "foo"
 
-        class Foo6(str):
+        class Foo6(str8):
             def __str__(self):
                 return "foos"
 
@@ -72,22 +69,23 @@
             def __str__(self):
                 return self
 
-        class Foo9(str):
+        class Foo9(str8):
             def __str__(self):
                 return "string"
             def __unicode__(self):
                 return "not unicode"
 
-        self.assert_(str(Foo0()).startswith("<")) # this is different from __unicode__
         self.assertEqual(str(Foo1()), "foo")
         self.assertEqual(str(Foo2()), "foo")
         self.assertEqual(str(Foo3()), "foo")
         self.assertEqual(str(Foo4("bar")), "foo")
         self.assertEqual(str(Foo5("bar")), "foo")
-        self.assertEqual(str(Foo6("bar")), "foos")
-        self.assertEqual(str(Foo7("bar")), "foos")
+        self.assertEqual(str8(Foo6("bar")), "foos")
+        self.assertEqual(str(Foo6("bar")), "foou")
+        self.assertEqual(str8(Foo7("bar")), "foos")
+        self.assertEqual(str(Foo7("bar")), "foou")
         self.assertEqual(str(Foo8("foo")), "foofoo")
-        self.assertEqual(str(Foo9("foo")), "string")
+        self.assertEqual(str8(Foo9("foo")), "string")
         self.assertEqual(str(Foo9("foo")), "not unicode")
 
 def test_main():
