仅仅作个日志而与

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函数的更多相关文章

  1. System中记录体函数命名怪异

    //1019unit System; 中发现记录体函数命名怪异//乍一看,很怪异,其实是结构体里面 的变量后面直接写 函数类型了.不像传统先定义T***Event      = procedure(S ...

  2. sqlserver -- 学习笔记(五)查询一天、一周、一个月记录(DateDiff 函数)(备忘)

    Learn From : http://bjtdeyx.iteye.com/blog/1447300 最常见的sql日期查询的语句 --查询当天日期在一周年的数据 ) --查询当天的所有数据 ) -- ...

  3. Python大神成长之路: 第三次学习记录 集合 函数 装饰 re

    学习记录day03   字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上)     集合是一个无序的,不重复的数据组合,它的主要作用如 ...

  4. Delphi - Logs记录,函数实现MsgDsp

    Logs记录-函数实现MsgDsp 大多数时候,我们不太希望消息以交互的形式出现,这个时候我们可以在窗体上放置一个Memo,然后单独开一个线程进行监视,从而实现把消息实时的显示出来,便于开发者分析. ...

  5. Odoo XML中操作记录与函数

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826037.html 一:XML文件中定义记录 XML中定义记录: 每个<record>元素有 ...

  6. python核心编程学习记录之函数与函数式编程

    @func function 意思是func(function) @func(a) function 意思是func(a)这是个函数对象,在去调用function函数 如果要传额外的值,只传值用*tu ...

  7. Spark记录-Scala函数

    Scala函数 Scala有函数和方法. Scala方法是一个具有名称和签名的类的一部分. Scala中的函数是一个可以分配给变量的完整对象. 函数定义可以出现在源文件中的任何位置. 不带参数的函数 ...

  8. Spark记录-Scala函数与闭包

    函数声明 Scala函数声明具有以下形式 - def functionName ([list of parameters]) : [return type] Scala 如果不使用等号和方法体,则隐式 ...

  9. SQL记录-PLSQL函数

    PL/SQL函数 PL/SQL函数与过程相同,不同之处在于函数有一个返回值.因此,前面的章节中的所有讨论都适用于函数. 创建函数 建立一个独立函数可以使用CREATE FUNCTION语句创建.CRE ...

随机推荐

  1. 编程模式之装饰模式(Decorator)

    装饰模式由四个角色组成:抽象组件角色,抽象装饰者角色,具体组件角色,具体装饰者角色. 抽象组件角色:给出一个抽象接口,以规范"准备接受附加功能"的对象. 抽象装饰者角色:持有一个组 ...

  2. Android使用ViewPager做轮播

    ViewPager.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin: 0 ...

  3. WinForm窗体嵌入

    一.在winform窗体上添加两个控件 1.容器>Panel 2.添加 SideBar.dll (下载链接:http://pan.baidu.com/s/1o6qhf9w) (1)将SideBa ...

  4. 【转】NVelocity模板引擎初学总结

    转自:http://sunxitao88.blog.163.com/blog/static/68314439200861963326251/ 前不久,接触到.NET下的MVC-MonoRail,它推荐 ...

  5. 利用 cookie 模拟网站登录

    import urllib import urllib2 import cookielib filename = 'cookie.txt' \#声明一个MozillaCookieJar对象实例来保存c ...

  6. 写css时要注意数字的浮动方向

    写css时要注意数字的浮动方向  当数字位数增加时他的方向才是正确的 text-align:right;padding-right:29px;

  7. tesseract3.01的训练和使用

    相关源码.资源下载:http://code.google.com/p/tesseract-ocr/downloads/list 训练步骤: 1.  Generate Training Images:生 ...

  8. 分布式管理系统-git安装及配置

    安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ git config - ...

  9. Android自定义控件

    开发自定义控件的步骤: 1.了解View的工作原理  2. 编写继承自View的子类 3. 为自定义View类增加属性  4. 绘制控件  5. 响应用户消息  6 .自定义回调函数    一.Vie ...

  10. hdu 1849(Rabbit and Grass) 尼姆博弈

    Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...