一 概述
今天在使用七牛接口的时候,当文件经过byte[]通过Convert.ToBase64String转换成Base64编码字符串之后,文件大小变大了。
文件从30M左右变成了40M左右的文件
二 Base64编码表
首先我们了解一下Base64为的编码表
三 Base64编码是如何使得图片变大
Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节。这时在最后一组填充1到2个0字节。并在最后编码完成后在结尾添加1到2个"="。
根据上述规律,那么图片从30M左右变成40M左右时正常的。
参考:
java 流 base64 大文件_base64编码处理大文件_Ruin-鸣的博客-CSDN博客在做项目的时候遇到需要将文件转为base64编码,并存储在文件中。在将文件转为base64编码是会将文件读入内存,进行base64编码,输出到文件中。代码入下:12345678910FileInputStream stream =newFileInputStream("D:\\桌面\\程序员-第4版.pdf");ByteArrayOutputStreamout=newByteArrayOut...https://blog.csdn.net/weixin_42109925/article/details/114113297 java实现图片文件转Base64编码加密解密_chnjg的博客-CSDN博客_java文件转base64http://imgbase64.duoshitong.com/ 图片转换Base64 java实现图片文件转Base64编码加密解密 ...
https://blog.csdn.net/qq_38422016/article/details/94737596 利用Java实现对文件的简易Base64编码_zhaojunpang的专栏-CSDN博客 import java.io.*; import sun.misc.*; public class base64 { public static void main(String []args) { try { FileInputStream fileForInput = new FileInputStream("d://mini.swf
https://blog.csdn.net/zhaojunpang/article/details/3013755 Base64编码的长度问题-文件越大Base64的值越长_weixin_34221276的博客-CSDN博客base64编码介绍 | Base64 EncodeBase64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。(经过编码,人们肯定直接看不懂)在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文...
https://blog.csdn.net/weixin_34221276/article/details/93465859 Base64编码为什么会使数据量变大?_feng200711021053的专栏-CSDN博客
https://blog.csdn.net/feng2007110221053/article/details/9020689