52ky 发表于 2023-9-10 00:30:01

BASE64编码解码_ASM(高性能汇编版) 易语言源码

该算法是使用查表方法来实现的。优点:性能好。缺点:码表占用几KB内存。

简单测试了一下,和精仪模块的BASE64对比一下,没有什么问题。目前尚未投入实际应用。可能存在错误。它是开源的,供大家测试。

1.1版本更新

   1)将AVX2指令集版本集成到其中,内部判断CPU是否支持。如果CPU支持的话,在需要编码的数据足够长的情况下,性能会比80386版本提升90%左右。

1.2版本更新

    1) 修复BASE64encoding_ASM()的mulx指令计算应用长度,在老CPU上会导致异常问题(感谢有时的反馈)。

1.3 更新

   1)添加BASE16编码和解码(字节集转十六进制,十六进制转字节集),自动选择版本:AVX2、80386

   2)修复BASE64编解码问题。有些情况下不会选择AVX2模式(C/C++的bool类型是单字节,easy的逻辑类型是4字节,easy的逻辑类型为true时转为字节集)可能是{0,0,1,0},导致单字节判断有时有效或无效)。

1.4更新(2019.6.5)

   1)新增BASE64解码2_ASM,支持未补全的BASE64编码(去掉了标准BASE64编码长度的检测,可能存在BUG)



页: [1]
查看完整版本: BASE64编码解码_ASM(高性能汇编版) 易语言源码