fastlz_test.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. --[[
  2. @module fastlz_test
  3. @summary fastlz压缩与解压缩测试功能模块
  4. @version 1.0
  5. @date 2025.07.01
  6. @author 孟伟
  7. @usage
  8. 使用Air780EHM演示压缩与解压缩的流程。
  9. ]]
  10. function test_fastlz_func()
  11. sys.wait(1000)
  12. -- 原始数据
  13. local originStr = io.readFile("/luadb/test.txt") or "q309pura;dsnf;asdouyf89q03fonaewofhaeop;fhiqp02398ryhai;ofinap983fyua0weo;ifhj3p908fhaes;iofaw789prhfaeiwop;fhaesp98fadsjklfhasklfsjask;flhadsfk"
  14. local maxOut = #originStr
  15. log.info("原始数据长度", #originStr)
  16. -- 以压缩等级1 进行压缩
  17. local L1 = fastlz.compress(originStr,1)
  18. log.info("压缩等级1:压缩后的数据长度", #L1)
  19. -- 解压
  20. local dstr1 = fastlz.uncompress(L1,maxOut)
  21. log.info("压缩等级1:解压后的的数据长度", #dstr1)
  22. -- 判断解压后的数据是否与原始数据相同
  23. if originStr == dstr1 then
  24. log.info("压缩等级1:解压后的数据与原始数据相同")
  25. else
  26. log.info("压缩等级1:解压后的数据与原始数据不同")
  27. end
  28. sys.wait(1000)
  29. -- 以压缩等级2 进行压缩
  30. local L2 = fastlz.compress(originStr, 2)
  31. log.info("压缩等级2:压缩后的数据长度", #L2)
  32. -- 解压
  33. local dstr2 = fastlz.uncompress(L2,maxOut)
  34. log.info("压缩等级2:解压后的数据长度", #dstr2)
  35. -- 判断解压后的数据是否与原始数据相同
  36. if originStr == dstr2 then
  37. log.info("压缩等级2:解压后的数据与原始数据相同")
  38. else
  39. log.info("压缩等级2:解压后的数据与原始数据不同")
  40. end
  41. end
  42. --创建并且启动一个task
  43. --运行这个task的主函数test_fastlz_func
  44. sys.taskInit(test_fastlz_func)