将hex字符串转换为hex数
我目前有一个包含hex值的NSString
。 我需要将此NSString
对象转换为NSData
对象,而根本不更改其内容。
我使用此代码“解析”NSData对象的调试输出(如果你只是NSLog NSData对象,你在控制台中得到的)回到NSData:
-(NSData*) bytesFromHexString:(NSString *)aString; { NSString *theString = [[aString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] componentsJoinedByString:nil]; NSMutableData* data = [NSMutableData data]; int idx; for (idx = 0; idx+2 <= theString.length; idx+=2) { NSRange range = NSMakeRange(idx, 2); NSString* hexStr = [theString substringWithRange:range]; NSScanner* scanner = [NSScanner scannerWithString:hexStr]; unsigned int intValue; if ([scanner scanHexInt:&intValue]) [data appendBytes:&intValue length:1]; } return data; }
它不是我最强大的代码,但它完成了解析[nsdata_object description]的工作。