
不喜欢广告? 去 无广告 今天
有没有偶然发现一堆看似毫无意义的字符,以 data:image/png;base64
?恭喜你遇到了 Base64 编码 在野外!🎉
Base64 是一种使用一组有限的 64 个 ASCII 字符来表示二进制数据的方法。它通常用于:
- 将图像、字体或其他文件直接嵌入 HTML、CSS 或脚本
- 通过电子邮件或 XML 等基于文本的协议传输二进制数据
- 混淆敏感信息(虽然这不是加密!)
要理解 Base64,你需要 将其解码回原始二进制文件。这里有一份快速备忘单:
语言 | 解码函数 |
---|---|
JavaScript | atob(base64String) |
Python | base64.b64decode(base64String) |
Java | Base64.getDecoder().decode(base64String) |
C# | Convert.FromBase64String(base64String) |
例如,在 JavaScript 中:
const base64Image = "data:image/png;base64,iVBORw0KGgoAAAANSU…";
const splitData = base64Image.split(",");
const byteString = atob(splitData[1]);
此代码片段:
- 仅提取 Base64 数据,删除元数据前缀
- 将 Base64 字符串解码为字节字符串
从那里,您可以将其转换为类型数组以进行进一步操作:
const intArray = new Uint8Array(byteString.length);
for (let i = 0; i < byteString.length; i++) {
intArray[i] = byteString.charCodeAt(i);
}
有了这个字节数组,您可以:
- 创建一个 Blob 用于保存文件
- 将图像渲染到画布
- 将其传递给库以解析文件内容
- 将其提供给 WebAssembly 进行高性能处理
Base64 解码 为处理内联二进制数据开辟了无限可能。现在放心地解码吧!🚀