递归火山软件开发平台

标题: 【解决方案】火山安卓GZIP解压GZIP压缩 [打印本页]

作者: 创世魂    时间: 2023-10-9 21:29
标题: 【解决方案】火山安卓GZIP解压GZIP压缩

这两个方法在无名模块里面也可以找到。不想使用模块的可以直接复制下面的代码。





  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 方法 网页_解压 <公开 静态 类型 = "字节 []" 注释 = "进行gzip解压操作,如有bug请加群反馈:710113438" 返回值注释 = "失败返回0数组" 折叠>
  3. 参数 要解压的数据 <类型 = "字节 []" 注释 = "提供要解压的gzip数据">
  4. {
  5.     如果 (要解压的数据 != 空对象 || 取数组成员数 (要解压的数据) > 0)
  6.     {
  7.         变量 数组输出流 <参考 类型 = 字节数组输出流>
  8.         数组输出流 = 字节数组输出流.创建 (1)
  9.         变量 数组输入流 <参考 类型 = 字节数组输入流>
  10.         数组输入流 = 字节数组输入流.创建 (要解压的数据)
  11.         变量 GZIP <参考 类型 = GZIP输入流>
  12.         GZIP = GZIP输入流.创建GZIP输入流 (数组输入流)
  13.         变量 缓冲区 <类型 = "字节 [4096]">
  14.         变量 读入尺寸 <类型 = 整数>
  15.         判断循环 (读入尺寸 != -1)
  16.         {
  17.             读入尺寸 = GZIP.读入数据2 (缓冲区, 空对象)
  18.             数组输出流.写出数据 (缓冲区, 0, 读入尺寸)
  19.         }
  20.         GZIP.关闭 ()
  21.         数组输入流.关闭 ()
  22.         数组输出流.写出缓存 ()
  23.         变量 解压后数据 <类型 = "字节 []">
  24.         解压后数据 = 数组输出流.取已写入数据 ()
  25.         数组输出流.关闭 ()
  26.         返回 (解压后数据)
  27.     }
  28.     返回 (新建数组 (字节, 0))
  29. }

  30. 方法 网页_压缩 <公开 静态 类型 = "字节[]" 注释 = "进行gzip压缩操作,如有bug请加群反馈:710113438" 返回值注释 = "失败返回0数组" 折叠>
  31. 参数 要压缩的数据 <类型 = "字节 []" 注释 = "提供要压缩的数据">
  32. {
  33.     如果 (要压缩的数据 != 空对象 || 取数组成员数 (要压缩的数据) > 0)
  34.     {
  35.         变量 数组输出 <参考 类型 = 字节数组输出流>
  36.         数组输出 = 字节数组输出流.创建 (1)
  37.         变量 GZIP <参考 类型 = GZIP输出流>
  38.         GZIP = GZIP输出流.创建GZIP输出流 (数组输出)
  39.         GZIP.写出数据2 (要压缩的数据)
  40.         GZIP.关闭 ()
  41.         变量 已写入 <类型 = "字节 []">
  42.         已写入 = 数组输出.取已写入数据 ()
  43.         数组输出.写出缓存 ()
  44.         数组输出.关闭 ()
  45.         返回 (已写入)
  46.     }
  47.     返回 (新建数组 (字节, 0))
  48. }


复制代码




作者: 繁现代    时间: 2023-11-21 13:16





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4