我試圖將十六進制NSString
轉換爲NSData
(我使用下面的附加代碼)。以下是輸出:轉換HEX 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? –