【发布时间】:2011-11-11 04:24:54
【问题描述】:
我正在尝试将十六进制 NSString 转换为 NSData(我正在使用以下附加代码)。以下是输出:
<00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000>
这看起来与我完全无关。关于哪里出错的任何想法/建议?
NSString *strData = @"72ff63cea198b3edba8f7e0c23acc345050187a0cde5a9872cbab091ab73e553";
NSLog(@"string Data length is %d",[strData length]);
NSMutableData *commandToSend= [[NSMutableData alloc] init];
unsigned char whole_byte;
char byte_chars[2];
int i;
for (i=0; i < [strData length]/2; i++) {
byte_chars[0] = [strData characterAtIndex:i*2];
byte_chars[1] = [strData characterAtIndex:i*2+1];
whole_byte = strtol(byte_chars, NULL, [strData length]);
[commandToSend appendBytes:&whole_byte length:1];
}
NSLog(@"%@", commandToSend);
【问题讨论】:
-
不应该将 16 传递给 strtol 吗?
标签: iphone objective-c ios nsstring nsdata