好手在否-iOS gzip无法解压缩

高手在否-iOS gzip无法解压缩,
服务端请求到的xml是(服务端是用java写的):<ns1:out>H8KLCAAAAAAAAADCrcOUTUsCQRgHw7DDr8KyZ8KJeXnDpsONw5vCksKIwrAeRDsoESHCtcKEwqAmaQcRL8KVwpHCh8KowqBTeSo6wrYRRMOSC8O1ZcOaXcO8FsKNSMKQMGMsecKcZwZ+PA/Dv2d6w47CjsOfccOrw7XDlcO9dmfCt8Ohw6/CtcKdw7R6w4/DmcO6OW3DlsK2wp3CtMODJUdMAVDChcKcw5TCr8OLVsKtw5nCrTXDtcKDwrlqwqlaw7fDl8K6LV/Dl8Opw5xFwrPDmsKYFjEmwoRSAMKnwp/CsksSJ8KTwrBJYkAJMGrCkQAxQcKAc0tPwq7DqybDgsKmw68NDmPClGPCgsKkw4AWJ8KTw7dyNsKIwpjCoMKvwrfDm8O4w7w4DG7CosKTwrHCsTPChcO0w7zCgHHCoBbCscKYwqjCscOww6E9HMOcMcKCw4wYwpYcwpjDokDClsKKETNGwrjCkkoyDEvDhSg2aQJjRQTDksOXcsKJGl/DgcOmPArCqTDCgMKewqPCsGleLlkiZ8OgLCh/ZMOTwrJtwoXCrD3Cm8OGw53CjsKGL8Ohw5nDhcKCbErCoCApEsOCIlYqw6VMw4J9wohGw4PDiUEQB8KPw7HDlcORTDbChwcoV8KMcMKmwpjCmcO2Cl7CtlhONMOhw4lgHD19TMORw5FpfHgfwr9+LhwzwrIEKV/CssK3bHbCr8Kfw4PDi8OAPmYBWMOpUcOrL8OOw7IFw7xLw5TDm8Kyw5HDvwbDisOuw6tWOQYAAA==</ns1:out>
小弟用xml解析后得到:H8KLCAAAAAAAAADCrcOUTUsCQRgHw7DDr8KyZ8KJeXnDpsONw5vCksKIwrAeRDsoESHCtcKEwqAmaQcRL8KVwpHCh8KowqBTeSo6wrYRRMOSC8O1ZcOaXcO8FsKNSMKQMGMsecKcZwZ+PA/Dv2d6w47CjsOfccOrw7XDlcO9dmfCt8Ohw6/CtcKdw7R6w4/DmcO6OW3DlsK2wp3CtMODJUdMAVDChcKcw5TCr8OLVsKtw5nCrTXDtcKDwrlqwqlaw7fDl8K6LV/Dl8Opw5xFwrPDmsKYFjEmwoRSAMKnwp/CsksSJ8KTwrBJYkAJMGrCkQAxQcKAc0tPwq7DqybDgsKmw68NDmPClGPCgsKkw4AWJ8KTw7dyNsKIwpjCoMKvwrfDm8O4w7w4DG7CosKTwrHCsTPChcO0w7zCgHHCoBbCscKYwqjCscOww6E9HMOcMcKCw4wYwpYcwpjDokDClsKKETNGwrjCkkoyDEvDhSg2aQJjRQTDksOXcsKJGl/DgcOmPArCqTDCgMKewqPCsGleLlkiZ8OgLCh/ZMOTwrJtwoXCrD3Cm8OGw53CjsKGL8Ohw5nDhcKCbErCoCApEsOCIlYqw6VMw4J9wohGw4PDiUEQB8KPw7HDlcORTDbChwcoV8KMcMKmwpjCmcO2Cl7CtlhONMOhw4lgHD19TMORw5FpfHgfwr9+LhwzwrIEKV/CssK3bHbCr8Kfw4PDi8OAPmYBWMOpUcOrL8OOw7IFw7xLw5TDm8Kyw5HDvwbDisOuw6tWOQYAAA==
在用base64 解密得到:<1fc28b08 00000000 000000c2 adc3944d 4b024118 07c3b0c3 afc2b267 c2897979 c3a6c38d c39bc292 c288c2b0 1e443b28 1121c2b5 c284c2a0 26690711 2fc295c2 91c287c2 a8c2a053 792a3ac2 b61144c3 920bc3b5 65c39a5d c3bc16c2 8d48c290 30632c79 c29c6706 7e3c0fc3 bf677ac3 8ec28ec3 9f71c3ab 。。。。。。。。
然后就是用gzip解压缩了代码如下:
————————————问题来了 ————————————————————完美分割————————————————————————————求关注——————————————————————————
-(NSData *)uncompressZippedData:(NSData *)compressedData  {

if ([compressedData length] == 0) return compressedData;

    unsigned full_length = [compressedData length];

    unsigned half_length = [compressedData length] / 2;

    NSMutableData *decompressed = [NSMutableData dataWithLength: full_length + half_length];

    BOOL done = NO;

    int status;

    z_stream strm;

    strm.next_in = (Bytef *)[compressedData bytes];

    strm.avail_in = [compressedData length];

    strm.total_out = 0;

    strm.zalloc = Z_NULL;

    strm.zfree = Z_NULL;

    if (inflateInit2(&strm, (15+32)) != Z_OK) return nil;

    while (!done) {
        // Make sure we have enough room and reset the lengths.
        if (strm.total_out >= [decompressed length]) {
            [decompressed increaseLengthBy: half_length];
        }
        strm.next_out = [decompressed mutableBytes] + strm.total_out;
        strm.avail_out = [decompressed length] - strm.total_out;
        // Inflate another chunk.
        status = inflate (&strm, Z_SYNC_FLUSH);
//这里 一直返回-3 errordata  ,旧是这问题了,怎么弄啊
        if (status == Z_STREAM_END) {
            done = YES;
        } else if (status != Z_OK) {
            break;
        }
    }
    if (inflateEnd (&strm) != Z_OK) return nil;
    // Set real length.
    if (done) {
        [decompressed setLength: strm.total_out];
        return [NSData dataWithData: decompressed];
    } else {
        return nil;
    }
}

文章评论

好手在否-iOS gzip无法解压缩
团队中“技术大拿”并非越多越好
好手在否-iOS gzip无法解压缩
亲爱的项目经理,我恨你
好手在否-iOS gzip无法解压缩
漫画:程序员的工作
好手在否-iOS gzip无法解压缩
程序猿的崛起——Growth Hacker
好手在否-iOS gzip无法解压缩
Web开发者需具备的8个好习惯
好手在否-iOS gzip无法解压缩
Java程序员必看电影
好手在否-iOS gzip无法解压缩
一个程序员的时间管理
好手在否-iOS gzip无法解压缩
十大编程算法助程序员走上高手之路
好手在否-iOS gzip无法解压缩
科技史上最臭名昭著的13大罪犯
好手在否-iOS gzip无法解压缩
程序员最害怕的5件事 你中招了吗?
好手在否-iOS gzip无法解压缩
当下全球最炙手可热的八位少年创业者
好手在否-iOS gzip无法解压缩
为什么程序员都是夜猫子
好手在否-iOS gzip无法解压缩
聊聊HTTPS和SSL/TLS协议
好手在否-iOS gzip无法解压缩
“懒”出效率是程序员的美德
好手在否-iOS gzip无法解压缩
老程序员的下场
好手在否-iOS gzip无法解压缩
我的丈夫是个程序员
好手在否-iOS gzip无法解压缩
编程语言是女人
好手在否-iOS gzip无法解压缩
鲜为人知的编程真相
好手在否-iOS gzip无法解压缩
5款最佳正则表达式编辑调试器
好手在否-iOS gzip无法解压缩
程序员的样子
好手在否-iOS gzip无法解压缩
程序员必看的十大电影
好手在否-iOS gzip无法解压缩
为啥Android手机总会越用越慢?
好手在否-iOS gzip无法解压缩
写给自己也写给你 自己到底该何去何从
好手在否-iOS gzip无法解压缩
不懂技术不要对懂技术的人说这很容易实现
好手在否-iOS gzip无法解压缩
程序员和编码员之间的区别
好手在否-iOS gzip无法解压缩
Web开发人员为什么越来越懒了?
好手在否-iOS gzip无法解压缩
初级 vs 高级开发者 哪个性价比更高?
好手在否-iOS gzip无法解压缩
要嫁就嫁程序猿—钱多话少死的早
好手在否-iOS gzip无法解压缩
“肮脏的”IT工作排行榜
好手在否-iOS gzip无法解压缩
代码女神横空出世
好手在否-iOS gzip无法解压缩
Java 与 .NET 的平台发展之争
好手在否-iOS gzip无法解压缩
如何成为一名黑客
好手在否-iOS gzip无法解压缩
老美怎么看待阿里赴美上市
好手在否-iOS gzip无法解压缩
我是如何打败拖延症的
好手在否-iOS gzip无法解压缩
看13位CEO、创始人和高管如何提高工作效率
好手在否-iOS gzip无法解压缩
那些争议最大的编程观点
好手在否-iOS gzip无法解压缩
10个帮程序员减压放松的网站
好手在否-iOS gzip无法解压缩
10个调试和排错的小建议
好手在否-iOS gzip无法解压缩
旅行,写作,编程
好手在否-iOS gzip无法解压缩
做程序猿的老婆应该注意的一些事情
好手在否-iOS gzip无法解压缩
我跳槽是因为他们的显示器更大
好手在否-iOS gzip无法解压缩
什么才是优秀的用户界面设计
好手在否-iOS gzip无法解压缩
总结2014中国互联网十大段子
好手在否-iOS gzip无法解压缩
如何区分一个程序员是“老手“还是“新手“?
好手在否-iOS gzip无法解压缩
每天工作4小时的程序员