LZMA 算法 AS3 移植 实现

本文介绍了一种源代码的解码与转换方法,包括输入流读取、解码器配置、输出流生成等关键步骤,适用于源代码的高效处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用方法如下:
源代码打包上传,欢迎下载使用.

源代码下载地址

 http://download.youkuaiyun.com/detail/aerror/3898251

 

        public static function decode(src:ByteArray) : ByteArray
        {
            if (src == null || src.length < 16)
            {
                return null;
            }
			
			var inStream:InputStream = new InputStream(src);
			var propertiesSize:int = 5;
			var properties:Vector.<uint> = new Vector.<uint>(propertiesSize);
			
			if (inStream.readVOL(properties, 0, propertiesSize) != propertiesSize)
				return null;
			var decoder:Decoder = new Decoder();
			if (!decoder.SetDecoderProperties(properties))
				return null;
			var outSize:uint = 0;
			for (var i:int = 0; i < 8; i++)
			{
				var v:int = inStream.read();
				if (v < 0)
					return null;
				outSize |= (v << (8 * i));
			}
			var ret:ByteArray = new ByteArray();
			ret.length = outSize;
			var outStream:OutputStream = new OutputStream(ret);
			if (!decoder.Code(inStream, outStream, outSize))
				return null;
			inStream.close();
			outStream.close();
			ret.position =0;
			return ret;

        }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值