Marc-Andre Lemburg <mal@lemburg.com>:
Made codecs.open() default to 'rb' as file mode.
diff --git a/Lib/codecs.py b/Lib/codecs.py
index 1a71fab..fbb9824 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -458,7 +458,7 @@
 
 ### Shortcuts
 
-def open(filename, mode, encoding=None, errors='strict', buffering=1):
+def open(filename, mode='rb', encoding=None, errors='strict', buffering=1):
 
     """ Open an encoded file using the given mode and return
         a wrapped version providing transparent encoding/decoding.
@@ -468,6 +468,11 @@
         codecs. Output is also codec dependent and will usually by
         Unicode as well.
 
+        Files are always opened in binary mode, even if no binary mode
+        was specified. Thisis done to avoid data loss due to encodings
+        using 8-bit values. The default file mode is 'rb' meaning to
+        open the file in binary read mode.
+
         encoding specifies the encoding which is to be used for the
         the file.