记录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 ...
随机推荐
- matlab 去掉字符串前后的空格
strtrim 从字符串,删除开头和结尾的空白 句法 S = strtrim(STR) C = strtrim(CSTR)
- LESS初探
1. 安装less $ npm install -g less 2. less文件编译成css文件 $ lessc styles.less styles.css <!DOCTYPE html&g ...
- const char **
foo (const char **p){ } main (int argh,char **argv) { foo(argv); } warning : argument is i ...
- DataSnap控件TDSServerClass属性LifeCycle生命周期管理(From李维)
DelphiXE2中的DataSnap中提供了三种不同的生命周期,开发人员可以在TDSServerClass控件的LifeCycle特性中设定,下面分别说明每一种生命周期的意义 1. Server:在 ...
- poj3678 Katu Puzzle 2-SAT
Katu Puzzle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6714 Accepted: 2472 Descr ...
- iOS 10开发NSAssert(断言)的使用
断言(NSAssert)的使用 字数1055 阅读3270 评论3 喜欢30 NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug ...
- webapp开发中的一些注意的
和大多数响应式的布局一样,webapp开发也是需要浮动布局和百分比布局,需要考虑的是小屏幕手机250px和大屏幕设备768px,但是习惯以320px和640px来分割,jq中的一句话$(functio ...
- C语言学习笔记(一)_hello world程序中涉及的c语言元素
#include <stdio.h> //使用printf函数之前必须include<stdio.h> int main() { int i; //声明一个变量 printf( ...
- php js 排序
编写背景及排序 规则 公司需要对游戏进行一系列的排序,在这里只说我自己遇到问题的哪一段 //规则:$plat数据要根据$sort里的sort为相应 可以输入一个数字,即为该平台: 解决思路:将$so ...
- C#中的?和??的用法
1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也 ...