记录Gzip函数
仅仅作个日志而与
public static function compress(param1:ByteArray) : ByteArray
{
var _loc_2:ByteArray;
var _loc_3:CRC32;
var _loc_4:uint;
var _loc_5:uint;
_loc_2 = new ByteArray();
_loc_2.endian = Endian.LITTLE_ENDIAN;
_loc_2.writeByte(31);
_loc_2.writeByte(139);
_loc_2.writeByte(8);
_loc_2.writeByte(0);
_loc_2.writeUnsignedInt(0);
_loc_2.writeByte(0);
_loc_2.writeByte(255);
_loc_3 = new CRC32();
_loc_3.update(param1);
_loc_4 = _loc_3.getValue();
_loc_5 = param1.length % Math.pow(2, 32);
param1.compress();
_loc_2.writeBytes(param1, 0, param1.length);
_loc_2.writeUnsignedInt(_loc_4);
_loc_2.writeUnsignedInt(_loc_5);
return _loc_2;
}// end function
public static function decompress(param1:ByteArray) : ByteArray
{
var _loc_2:ByteArray;
var _loc_3:uint;
var _loc_4:uint;
var _loc_5:uint;
var _loc_6:int;
var _loc_7:uint;
var _loc_8:uint;
var _loc_9:uint;
var _loc_10:int;
var _loc_11:ByteArray;
var _loc_12:ByteArray;
var _loc_13:ByteArray;
_loc_2 = new ByteArray();
_loc_2.endian = Endian.LITTLE_ENDIAN;
param1.position = 0;
param1.readBytes(_loc_2, 0, param1.length);
_loc_3 = _loc_2.readUnsignedByte();
_loc_4 = _loc_2.readUnsignedByte();
_loc_5 = _loc_2.readUnsignedByte();
if (_loc_3 != 31 || _loc_4 != 139 || _loc_5 != 8)
{
throw new IllegalOperationError("");
}// end if
_loc_6 = _loc_2.readByte();
_loc_7 = _loc_2.readUnsignedInt();
_loc_8 = _loc_2.readUnsignedByte();
_loc_9 = _loc_2.readUnsignedByte();
if ((_loc_6 >> 5 & 1) == 1)
{
_loc_2.readUTF();
}// end if
if ((_loc_6 >> 4 & 1) == 1)
{
_loc_12 = new ByteArray();
while (_loc_2.readUnsignedByte() != 0)
{
// label
_loc_2.position--;
_loc_12.writeByte(_loc_2.readByte());
}// end while
}// end if
if ((_loc_6 >> 3 & 1) == 1)
{
_loc_13 = new ByteArray();
while (_loc_2.readUnsignedByte() != 0)
{
// label
_loc_2.position--;
_loc_13.writeByte(_loc_2.readByte());
}// end while
}// end if
if ((_loc_6 >> 6 & 1) == 1)
{
_loc_2.readUnsignedShort();
}// end if
_loc_10 = _loc_2.length - _loc_2.position - 8;
_loc_11 = new ByteArray();
_loc_2.readBytes(_loc_11, 0, _loc_10);
_loc_11.uncompress();
return _loc_11;
}// end function
记录Gzip函数的更多相关文章
- System中记录体函数命名怪异
//1019unit System; 中发现记录体函数命名怪异//乍一看,很怪异,其实是结构体里面 的变量后面直接写 函数类型了.不像传统先定义T***Event = procedure(S ...
- sqlserver -- 学习笔记(五)查询一天、一周、一个月记录(DateDiff 函数)(备忘)
Learn From : http://bjtdeyx.iteye.com/blog/1447300 最常见的sql日期查询的语句 --查询当天日期在一周年的数据 ) --查询当天的所有数据 ) -- ...
- Python大神成长之路: 第三次学习记录 集合 函数 装饰 re
学习记录day03 字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上) 集合是一个无序的,不重复的数据组合,它的主要作用如 ...
- Delphi - Logs记录,函数实现MsgDsp
Logs记录-函数实现MsgDsp 大多数时候,我们不太希望消息以交互的形式出现,这个时候我们可以在窗体上放置一个Memo,然后单独开一个线程进行监视,从而实现把消息实时的显示出来,便于开发者分析. ...
- Odoo XML中操作记录与函数
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826037.html 一:XML文件中定义记录 XML中定义记录: 每个<record>元素有 ...
- python核心编程学习记录之函数与函数式编程
@func function 意思是func(function) @func(a) function 意思是func(a)这是个函数对象,在去调用function函数 如果要传额外的值,只传值用*tu ...
- Spark记录-Scala函数
Scala函数 Scala有函数和方法. Scala方法是一个具有名称和签名的类的一部分. Scala中的函数是一个可以分配给变量的完整对象. 函数定义可以出现在源文件中的任何位置. 不带参数的函数 ...
- Spark记录-Scala函数与闭包
函数声明 Scala函数声明具有以下形式 - def functionName ([list of parameters]) : [return type] Scala 如果不使用等号和方法体,则隐式 ...
- SQL记录-PLSQL函数
PL/SQL函数 PL/SQL函数与过程相同,不同之处在于函数有一个返回值.因此,前面的章节中的所有讨论都适用于函数. 创建函数 建立一个独立函数可以使用CREATE FUNCTION语句创建.CRE ...
随机推荐
- SharePoint Style Library的权限问题
Style Library是属于site collection级别的. 所以如果在某一个site中直接给某个用户设置了比如Full control的权限,这个权限信息并不会自动进入Style Libr ...
- 协同开发中SVN的使用建议
协同开发中SVN的使用建议 1. 注意个人账户密码安全 各员工需牢记各自的账户和密码,不得向他人透漏,严禁使用他人账户进行SVN各项操作(主要考虑每个SVN账号的使用者的权限范围问题).如有忘记,请 ...
- 56992 vuser_init.c(12): Error: Socket descriptor not found.
Loadrunner 运行场景时提示" vuser_init.c(12): Error: Socket descriptor not found. Hint: the problem mi ...
- 实现浏览器打开图片的url默认是下载
在返回的response里面设置HTTP头的Content-Disposition=attachement;filename=xxxx,即可实现文件另存为"xxxx":Conten ...
- vs2012启动网站调试提示 HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容
启动vs2012调试网站的时候提示: HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容. 最可能的原因: 没有为请求的 URL 配置默认文档,并且没有在服 ...
- android ListView子布局中按钮响应点击事件
只需要在子布局的根布局中添加以下属性即可: android:descendantFocusability="blocksDescendants"
- 用JS做的时钟
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Endless Sky源码学习笔记-2
数据载入框架: void GameData::BeginLoad(const char * const *argv)为数据载入的最上层method,其主要框架为: void Files::Init(c ...
- loadrunner-VUserGen录制脚本及回放时注意的问题
乱码问题 1.1录制过程中的乱码(因为本机系统的编码格式跟被测系统的编码格式不一致导致): 1.2运行时的乱码(录制后的脚本编码格式跟被测系统的编码格式不一致导致): 解决:1.Tools-Recor ...
- 【POJ2482】Stars in Your Window(线段树,扫描线)
题意:在二维坐标系中有一些带权值的点,要求用一个长宽指定不能互换的框套住其中的一些,使得它们的权值和最大. n<=10000 x,y<=2^31 思路:首先按X排序,将Y坐标离散化,X坐标 ...