简体   繁体   中英

Remove first byte from NSMutableData

NSMutableData *requestData = (NSMutableData*)[request responseData];

returns

"[{JSON_STRING}]"

so I want to strip out the "[" / "]" without converting to NSString and then back to NSData. The easiest way to do this is to strip out the first and last byte.

[requestData setLength:[requestData length]-1]; removes the last byte.

How to remove the first byte? I tried the solution below, but doesn't work..

NSRange range = {0, 1};
[requestData resetBytesInRange:range];

Here's how you strip the first byte off an NSMutableData:

    NSRange range = NSMakeRange(0, 1);
[requestData replaceBytesInRange:range withBytes:NULL length:0];

You could use

NSRange range = NSMakeRange(1, [requestData length] - 2);
NSData *refinedData = [requestData subdataWithRange:range];

This should take care of both the first and last character.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM