上一篇文章 “使用 JavaScript 处理 UTF-8 文本字符串或任意数据的 Base64 编解码” 中介绍了两种进行 Base64 编解码的思路,一种是利用现有的 atob
和 btoa
函数,另一种(也)是利用(现有的)FileReader
和 Fetch API.
出于历史原因,使用 btoa
函数时,需要先将字节流转换为 JavaScript 中的字符串,该字符串中,每个字符对应的数码,为对应字节的数字表示;类似地,使用 atob
函数解码 base64 后得到的不是字节流,而是“字节字符串”。
因此,针对使用 atob
和 btoa
函数进行的 Base64 编解码,其性能方面,需要考虑的是“字节字符串”和字节流之间的转换。
字节串到 “字节字符串” 的转换
这里笔者首先使用 jsbenchmark.com 进行了字节串到字符串之间的转换测评 (