diff --git a/youtube_dl/downloader/http.py b/youtube_dl/downloader/http.py
index 11294d1060..af405b9509 100644
--- a/youtube_dl/downloader/http.py
+++ b/youtube_dl/downloader/http.py
@@ -182,7 +182,7 @@ class HttpFD(FileDownloader):
 
                 if self.params.get('xattr_set_filesize', False) and data_len is not None:
                     try:
-                        write_xattr(tmpfilename, 'user.ytdl.filesize', str(data_len))
+                        write_xattr(tmpfilename, 'user.ytdl.filesize', str(data_len).encode('utf-8'))
                     except (XAttrUnavailableError, XAttrMetadataError) as err:
                         self.report_error('unable to set filesize xattr: %s' % str(err))