递归火山软件开发平台
标题:
【解决方案】火山安卓GZIP解压GZIP压缩
[打印本页]
作者:
创世魂
时间:
2023-10-9 21:29
标题:
【解决方案】火山安卓GZIP解压GZIP压缩
这两个方法在无名模块里面也可以找到。不想使用模块的可以直接复制下面的代码。
<火山程序 类型 = "通常" 版本 = 1 />
方法 网页_解压 <公开 静态 类型 = "字节 []" 注释 = "进行gzip解压操作,如有bug请加群反馈:710113438" 返回值注释 = "失败返回0数组" 折叠>
参数 要解压的数据 <类型 = "字节 []" 注释 = "提供要解压的gzip数据">
{
如果 (要解压的数据 != 空对象 || 取数组成员数 (要解压的数据) > 0)
{
变量 数组输出流 <参考 类型 = 字节数组输出流>
数组输出流 = 字节数组输出流.创建 (1)
变量 数组输入流 <参考 类型 = 字节数组输入流>
数组输入流 = 字节数组输入流.创建 (要解压的数据)
变量 GZIP <参考 类型 = GZIP输入流>
GZIP = GZIP输入流.创建GZIP输入流 (数组输入流)
变量 缓冲区 <类型 = "字节 [4096]">
变量 读入尺寸 <类型 = 整数>
判断循环 (读入尺寸 != -1)
{
读入尺寸 = GZIP.读入数据2 (缓冲区, 空对象)
数组输出流.写出数据 (缓冲区, 0, 读入尺寸)
}
GZIP.关闭 ()
数组输入流.关闭 ()
数组输出流.写出缓存 ()
变量 解压后数据 <类型 = "字节 []">
解压后数据 = 数组输出流.取已写入数据 ()
数组输出流.关闭 ()
返回 (解压后数据)
}
返回 (新建数组 (字节, 0))
}
方法 网页_压缩 <公开 静态 类型 = "字节[]" 注释 = "进行gzip压缩操作,如有bug请加群反馈:710113438" 返回值注释 = "失败返回0数组" 折叠>
参数 要压缩的数据 <类型 = "字节 []" 注释 = "提供要压缩的数据">
{
如果 (要压缩的数据 != 空对象 || 取数组成员数 (要压缩的数据) > 0)
{
变量 数组输出 <参考 类型 = 字节数组输出流>
数组输出 = 字节数组输出流.创建 (1)
变量 GZIP <参考 类型 = GZIP输出流>
GZIP = GZIP输出流.创建GZIP输出流 (数组输出)
GZIP.写出数据2 (要压缩的数据)
GZIP.关闭 ()
变量 已写入 <类型 = "字节 []">
已写入 = 数组输出.取已写入数据 ()
数组输出.写出缓存 ()
数组输出.关闭 ()
返回 (已写入)
}
返回 (新建数组 (字节, 0))
}
复制代码
作者:
繁现代
时间:
2023-11-21 13:16
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4