diff --git a/Lib/encodings/base64_codec.py b/Lib/encodings/base64_codec.py
index ce21b1a..bae9542 100644
--- a/Lib/encodings/base64_codec.py
+++ b/Lib/encodings/base64_codec.py
@@ -44,8 +44,10 @@
 
 class Codec(codecs.Codec):
 
-    encode = base64_encode
-    decode = base64_decode
+    def encode(self, input,errors='strict'):
+        return base64_encode(input,errors)
+    def decode(self, input,errors='strict'):
+        return base64_decode(input,errors)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
diff --git a/Lib/encodings/hex_codec.py b/Lib/encodings/hex_codec.py
index ab7d86f..572ff79 100644
--- a/Lib/encodings/hex_codec.py
+++ b/Lib/encodings/hex_codec.py
@@ -44,8 +44,10 @@
 
 class Codec(codecs.Codec):
 
-    encode = hex_encode
-    decode = hex_decode
+    def encode(self, input,errors='strict'):
+        return hex_encode(input,errors)
+    def decode(self, input,errors='strict'):
+        return hex_decode(input,errors)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
diff --git a/Lib/encodings/quopri_codec.py b/Lib/encodings/quopri_codec.py
index 42074f4..d98b5ed 100644
--- a/Lib/encodings/quopri_codec.py
+++ b/Lib/encodings/quopri_codec.py
@@ -41,8 +41,10 @@
 
 class Codec(codecs.Codec):
 
-    encode = quopri_encode
-    decode = quopri_decode
+    def encode(self, input,errors='strict'):
+        return quopri_encode(input,errors)
+    def decode(self, input,errors='strict'):
+        return quopri_decode(input,errors)
 
 class StreamWriter(Codec, codecs.StreamWriter):
     pass
diff --git a/Lib/encodings/uu_codec.py b/Lib/encodings/uu_codec.py
index 82e799c..6ef8369 100644
--- a/Lib/encodings/uu_codec.py
+++ b/Lib/encodings/uu_codec.py
@@ -94,9 +94,11 @@
 
 class Codec(codecs.Codec):
 
-    encode = uu_encode
-    decode = uu_decode
-
+    def encode(self,input,errors='strict'):
+        return uu_encode(input,errors)
+    def decode(self,input,errors='strict'):
+        return uu_decode(input,errors)
+    
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
         
diff --git a/Lib/encodings/zlib_codec.py b/Lib/encodings/zlib_codec.py
index 035bb04..d9f7d04 100644
--- a/Lib/encodings/zlib_codec.py
+++ b/Lib/encodings/zlib_codec.py
@@ -45,8 +45,10 @@
 
 class Codec(codecs.Codec):
 
-    encode = zlib_encode
-    decode = zlib_decode
+    def encode(self, input, errors='strict'):
+        return zlib_encode(input, errors)
+    def decode(self, input, errors='strict'):
+        return zlib_decode(input, errors)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
