以前用到base64有这么几个场景: 使用html2canvas 将html 转成图片的时候,html 里面的跨域图片无法生成图片,所以将图片先转成base64再生成jpg之类的图片有损压缩,使用canvas.toDataUrl()webpack 打包时,为了减少 https(http) 的请求数量(主要是为了减少三次握手,如果是http1.1开启了长连接或者http2.0/3.0之类的有多路复用,其实我觉得可以不用转base64),将小于10k(好像是10k,记不清了)的图片转成base64打在代码里。但是,图片转成base64,体积会变大33%,所以大点的图片也不建议转换。 那么,转成 base64 为什么会变大呢? 还有为啥叫 base64, 不叫base16或者base24、base32呢? 针对上面的疑问,我们一步步来解释,别急,老弟! base64 生成步骤假设我们有个单词要转成base64: Hello 1. 找到每个字母对应的ASCII值ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符0NUT32(space)64@96、