美文网首页
截取掉NSData末尾0x00

截取掉NSData末尾0x00

作者: 花卷爱吃草 | 来源:发表于2020-01-16 10:54 被阅读0次

    截取字符串末尾结束符。和硬件通讯时,往往接收到的数据带有字符串结束符0x00,如果不截取掉,JSON解析不了。下面提供截取的方法,将NSData的byte取出,循环查找末尾是否是0x00,是则截取掉

    + (NSData *)trimData:(NSData *)data {
        NSMutableData *msgData = data.mutableCopy;
        if (msgData.length >= 1) {
            BOOL index = YES;
            while (index) {
                NSData *trimData = [msgData subdataWithRange:NSMakeRange(msgData.length-1, 1)];
                Byte lastByte[1];
                [trimData getBytes:lastByte range:NSMakeRange(0, 1)];
                if (lastByte[0] == 0x00) {
                    [msgData replaceBytesInRange:NSMakeRange(msgData.length-1, 1) withBytes:NULL length:0];
                    index = YES;
                } else {
                    index = NO;
                }
            }
        }
        return msgData;
    }
    

    相关文章

      网友评论

          本文标题:截取掉NSData末尾0x00

          本文链接:https://www.haomeiwen.com/subject/kmkfzctx.html