Index: pyyaml/trunk/lib3/yaml/__init__.py
===================================================================
--- pyyaml/trunk/lib3/yaml/__init__.py	(revision 331)
+++ pyyaml/trunk/lib3/yaml/__init__.py	(revision 336)
@@ -105,5 +105,5 @@
         canonical=None, indent=None, width=None,
         allow_unicode=None, line_break=None,
-        encoding='utf-8', explicit_start=None, explicit_end=None,
+        encoding=None, explicit_start=None, explicit_end=None,
         version=None, tags=None):
     """
@@ -113,5 +113,8 @@
     getvalue = None
     if stream is None:
-        stream = io.StringIO()
+        if encoding is None:
+            stream = io.StringIO()
+        else:
+            stream = io.BytesIO()
         getvalue = stream.getvalue
     dumper = Dumper(stream, canonical=canonical, indent=indent, width=width,
@@ -137,5 +140,5 @@
         canonical=None, indent=None, width=None,
         allow_unicode=None, line_break=None,
-        encoding='utf-8', explicit_start=None, explicit_end=None,
+        encoding=None, explicit_start=None, explicit_end=None,
         version=None, tags=None):
     """
@@ -145,5 +148,8 @@
     getvalue = None
     if stream is None:
-        stream = io.StringIO()
+        if encoding is None:
+            stream = io.StringIO()
+        else:
+            stream = io.BytesIO()
         getvalue = stream.getvalue
     dumper = Dumper(stream, default_style=default_style,
