Only decode if needed
diff --git a/googleapiclient/model.py b/googleapiclient/model.py
index c598154..e8afb63 100644
--- a/googleapiclient/model.py
+++ b/googleapiclient/model.py
@@ -258,7 +258,10 @@
     return json.dumps(body_value)
 
   def deserialize(self, content):
-    content = content.decode('utf-8')
+    try:
+        content = content.decode('utf-8')
+    except AttributeError:
+        pass
     body = json.loads(content)
     if self._data_wrapper and isinstance(body, dict) and 'data' in body:
       body = body['data']