Joh*_*ith 3 iphone objective-c nsstring nsdata ios
我目前有一个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;
}
Run Code Online (Sandbox Code Playgroud)
它不是我最强大的代码,但它完成了解析[nsdata_object description]的工作.
| 归档时间: |
|
| 查看次数: |
1794 次 |
| 最近记录: |