为什么base64编码的字符串的大小比原始文件大

时间:2015-11-19 18:30:16

标签: javascript file

快速提问,我的原始pdf文件大小约为24MB,但是当我将其编码为基于64字符串时,字符串大小约为31MB,只是想知道为什么?

图像文件很容易理解,因为它可能会失去一些压缩,但它也会发生在pdf或其他一些格式文件中?

1 个答案:

答案 0 :(得分:16)

  

只是想知道为什么

因为Base64每字节的有意义位数少于二进制数据格式(通常为6而不是8)。具体来说,它可以承受二进制数据不会进行的各种文本转换。

Wikipedia's page有一个很好的图表显示:

enter image description here

注意Base64如何仅使用每个字节的后六位,因此“Man”最终为四个字节。

  

图像文件很容易理解,因为它可能会失去一些压缩

不,Base64编码是无损的。当你解码它时,你会得到你开始时的逐字节。