仅仅作个日志而与

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. Linux 之HTTP服务,APACHE

    1.基础知识 HTTP:超文本传输协议,超链接URI:Uniform Resource Identifier,全局范围内唯一命名符MIME:Multipurpose Internet Mail Ext ...

  2. JS学习之路(这个觉得写的很好,放在这里是方便查看)

    总则-都是对象,都是引用 在接触js前用的比较多的是java,在刚开始接触js的时候,老实讲,我是有点崩溃的,相信许多像我一样从后端语言向js转的童鞋们肯定有一样的感受,这玩意儿太灵活了,好像怎么样都 ...

  3. 拦截JQuery的ajax

    (function() { var _ajax = $.ajax; $.ajax = function(opts) { //实现自己的逻辑 _ajax(opts); }; })();

  4. Perl语言

    Perl是高级.通用.直译式.动态的程序语言家族.最初设计者拉里·沃尔(Larry Wall)为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表 ...

  5. 在win8.1中安装apache+php+mysql

    因为x项目需求,需要学习使用php,咱也没啥经验,win8.1的系统在搭建php的运营环境中,费了一些周折,但是最后还是解决了. 详情请看 原文:http://jingyan.baidu.com/ar ...

  6. IOS学习之路--OC的基础知识

    1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...

  7. log4net 记录日志到sqlserver

    参考:http://blog.csdn.net/niuyongjie/article/details/5777625 demo

  8. sqllite

    public static void tt()        {            int ID = 0; while(true)            {                stri ...

  9. jquery实现幻灯片

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. 循序渐进Python3(八) -- 1 -- socket进阶

    IO多路复用 I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. Linux中的 select,poll,epoll 都 ...