diff --git a/IPython/html/files/handlers.py b/IPython/html/files/handlers.py
index 7ba667f78..bde2e0989 100644
--- a/IPython/html/files/handlers.py
+++ b/IPython/html/files/handlers.py
@@ -7,6 +7,8 @@ import logging
import os
import mimetypes
import json
+import base64
+
try:
# py3
from http.client import responses
@@ -47,7 +49,8 @@ class FilesHandler(IPythonHandler):
self.set_header('Content-Disposition','attachment; filename="%s"' % name)
if model['format'] == 'base64':
- self.write(model['content'].decode('base64'))
+ b64_bytes = model['content'].encode('ascii')
+ self.write(base64.decodestring(b64_bytes))
elif model['format'] == 'json':
self.write(json.dumps(model['content']))
else: