base64 支持库编解码的速度非常快,但程序会增加几十 KB 的大小。 一般情况建议使用 crypt.encodeBin , crypt.decodeBin 进行 Base64 编码或解码。
因为很多库引用了 crypt 库,这通常可以减少程序体积。 crypt.encodeBin , crypt.decodeBin 其实也很快,
例如编码一个图像文件基本感觉不到延时,这时候用 base64 支持库去优化意义就不大。
但如果是频繁地密集地处理较大的数据,使用 base64 支持库可以显著地提升性能。 此支持库基于开源项目
https://github.com/aklomp/base64 引用的 libbase64.dll 使用 说明
\lib\base64\.res\build.aardio 编译,关键参数如下:var gcc = process.gcc("/");
gcc.exec("make SSSE3_CFLAGS=-mssse3 SSE41_CFLAGS=-msse4.1 SSE42_CFLAGS=-msse4.2 AVX_CFLAGS=-mavx AVX2_CFLAGS=-mavx2");
高性能编解码库。
普通 base64 编码可以使用 crypt.encodeBin,解码可以使用 crypt.decodeBin。
base64 库则利用现代 CPU 指令集优化提供了更好的编解码性能
解码参数 @base64String 指定的 Base64 字符串。
成功返回解码后的数据(非空数据为 buffer 类型),失败返回 null,错误信息。
传入空字符串或长度为 0 会返回 null 值。
参数:base64 编码的字符串或 buffer 。
解码参数 @base64String 指定的 Base64 字符串。
成功返回包含解码数据的 string.builder 对象,失败返回 null,错误信息。
传入空字符串会返回 null 值。
参数:base64 编码的字符串或 buffer 。
参数 @2 可选指定 CPU 指令集(数值),仅用于测试,生产环境不要指定。
解码参数 @base64String 指定的 Base64 字符串,
并保存到参数 @path 指定路径的文件中。
成功返回写入长度,失败返回 null 错误信息。
创建流式解码器对象。
编码字符串为 base64 格式。
传入空字符串或长度为 0 会返回空字符串。
编码输入数据为 base64 格式。
返回包含编码数据的 string.builder 对象。
读取参数 @path 指定路径的文件并编码为 base64 格式。
返回包含编码数据的 string.builder 对象。
读取参数 @path 指定路径的文件并编码为 base64 格式。
返回包含编码数据的字符串。
创建流式编码器对象。
完成解码并返回结果,返回值为 buffer 类型。
如果解码数据为空则返回 null 值( aardio 中不存在长度为 0 的 buffer )。
此函数会释放 base64.decoder 对象。
完成解码并返回包含所有解码数据的 string.builder 对象。
此函数会释放 base64.decoder 对象。
存放输出数据的 string.builder 对象。
可用 string 方法读取字符串,buffer 方法读取缓冲区,pointer 方法读取指针。
可用 size 方法读取当前暂存的数据长度。
如果读取或存储了数据可调用 resize 方法将长度设为 0 以清空输出缓冲区。
读取当前解码数据并清空输出缓冲区。
如果读取到数据则返回值为 buffer 类型,数据为空时返回 null 值。
写入要解码的 Base64 字符串。
如果输入错误的编码此函数会抛出异常,否则返回自身以支持链式调用。
完成编码并返回结果,返回值为字符串类型。
如果输入数据不完整会返回 null, 错误信息。
此函数执行成功会释放 base64.encoder 对象。
完成编码并返回包含所有编码数据的 string.builder 对象。
如果输入数据不完整会返回 null, 错误信息。
此函数执行成功会释放 base64.encoder 对象。
存放输出数据的 string.builder 对象。
可用 string 方法读取字符串,buffer 方法读取缓冲区,pointer 方法读取指针。
可用 size 方法读取当前暂存的数据长度。
如果读取或存储了数据可调用 resize 方法将长度设为 0 以清空输出缓冲区。
读取当前编码数据并清空输出缓冲区。
如果读取到数据则返回值为字符串,数据为空时返回 null 值。
写入要编码的数据,返回自身以支持链式调用。
每次写入的字节长度建议对齐 4 字节,如果写入长度 % 4 不为 0 时则会缓存输入数据直到满足条件