iOS 二进制数组转成16进制字符串
Byte bytes[28];
[data getBytes:bytes length:28];
NSMutableString *hexString = [[NSMutableString alloc] init];
for (int i = 0; i < 28; i++) {
NSLog(@"%hhu",bytes[i]);
[hexString appendString:[NSString stringWithFormat:@"%0.2hhx", bytes[i]]];
}
NSLog(@" %@ ", hexString);
字符串转二进制
int len = [self length] / 2; // Target length
unsigned char *buf = malloc(len)
unsigned char *whole_byte = buf;
char byte_chars[3] = {'\0','\0','\0'};
int i;
for (i=0; i < [self length] / 2; i++) {
byte_chars[0] = [self characterAtIndex:i*2];
byte_chars[1] = [self characterAtIndex:i*2+1];
*whole_byte = strtol(byte_chars, NULL, 16);
whole_byte++;
}
NSData *data = [NSData dataWithBytes:buf length:len];
free( buf );
return data;