记录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

时间: 2024-10-14 19:55:53

记录Gzip函数的相关文章

sqlserver -- 查询一天、一周、一个月记录(DateDiff 函数)(备忘)

Learn From : http://bjtdeyx.iteye.com/blog/1447300 最常见的sql日期查询的语句 --查询当天日期在一周年的数据 select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 --查询当天的所有数据 select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 --info为表名,datetime为数据库中

Delphi - Logs记录,函数实现MsgDsp

Logs记录-函数实现MsgDsp 大多数时候,我们不太希望消息以交互的形式出现,这个时候我们可以在窗体上放置一个Memo,然后单独开一个线程进行监视,从而实现把消息实时的显示出来,便于开发者分析. 关键代码如下: 1 procedure TFrmMain.MsgDsp(v_Str: string); 2 begin 3 mm_log.Lines.Add('[' + SYS_USERNAME + '] - [' + v_Str + '] - [' + FormatDateTime('YYYY-M

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

@func function 意思是func(function) @func(a) function 意思是func(a)这是个函数对象,在去调用function函数 如果要传额外的值,只传值用*tuple如'abc',如果要指定关键词用**dict如abc='abc'

PHP学习记录之函数

1 <?php 2 3 //函数 4 //用户自定义函数 5 // 函数名和 PHP 中的其它标识符命名规则相同.有效的函数名以字母或下划线打头,后面跟字母,数字或下划线. 6 7 // PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数. 8 // 函数名是大小写无关的,推荐与定义时相同. 9 function add($a,$b) 10 { 11 return $a + $b; 12 } 13 14 15 echo adD(2,3); //5 16 17 18 function

PHP学习记录之函数二

1.引用传递 <?php $price=50; $tax=0.5; function functionPrices(&$price,&$tax) { $price=$price+$price*$tax; $tax=$tax*$tax; } functionPrices($price,$tax); echo $price; echo $tax; ?> 2.全局变量 global <?php $a=5; function f() { global $a; $a=2; } //

50%记录的函数

ALTER FUNCTION [dbo].[fu_GetCaption](@Stage nvarchar(50) ,@T_stage_weeks int ,@S_stage_months int ,@RowNum int --第几行 ) RETURNS nvarchar(260) AS BEGIN Declare @caption nvarchar(260)='' SELECT @caption=caption FROM(SELECT T_stage_weeks ,S_stage_months

May 18:PHP 函数

a 函数    说明 abs    绝对值acos    反余弦acosh    反双曲余弦addcslashes    以 C 语言风格使用反斜线转义字符串中的字符addslashes    使用反斜线引用字符串apache_child_terminate    在本次请求结束后终止 apache 子进程apache_getenv    获取 Apache subprocess_env 变量apache_get_modules    获得已加载的Apache模块列表apache_get_ver

python笔记5:装饰器、内置函数、json

装饰器 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象. 先看简单例子: def run(): time.sleep(1) print('run....') 现有一个新的需求,希望可以记录下函数的运行时间,需要在代码中计算时间的代码: def run(): start_time = time.time() time.sleep(1) print('run....') end_time = time.time() pr

.Net程序员之Python基础教程学习----函数和异常处理[Fifth Day]

   今天主要记录,Python中函数的使用以及异常处理. 一.函数:    1.函数的创建以及调用. def Add(val1,val2): return val1+val2; print Add(1,2) 2. 定义返回多参数的函数,返回的参数以元组的形式返回,可以通过下表索引来获取单个值,下面是获取两数之差和两数之和的函数. 整体上来说还是不错的,在C#中我们一般都用out来实现,多个参数改变返回,不过那样可读性不好. def GetSubAndSum(val1,val2): return