fastlz_test.lua 1.6 KB

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