[Objective-c] encode NSData To HexString, decode HexString To NSData
convert NSData To HexString (convert to HexString)
encode NSData To HexString (encode to HexString)
|
– (NSString *) encodeNSDataToHexString🙁NSData *)data { NSMutableString *hexString = [NSMutableString string]; unsigned char *bytes = (unsigned char *)[data bytes]; char temp[3]; NSUInteger i=0;
for (i=0; i<[data length]; i++){ temp[0] = temp[1] = temp[2] =0; (void)sprintf(temp, “%02x”,bytes[i]); [hexString appendString:[NSString stringWithUTF8String:temp]];
} return hexString; } |
convert HexString To NSData (convert from HexString)
decode HexString To NSData (decode from HexString)
|
– (NSData *) decodeHexStringToNSData🙁NSString *)hexString { unsigned long tlen = [hexString length]/2;
char tbuf[tlen]; int i,k,h,l; bzero(tbuf, sizeof(tbuf));
for (i=0, k=0; i<tlen; i++) { h=[hexString characterAtIndex:k++]; l=[hexString characterAtIndex:k++]; h=(h >= ‘A’) ? h-‘A’+10 : h-‘0’; l=(l >= ‘A’) ? l-‘A’+10 : l-‘0’; tbuf[i]= ((h<<4)&0xf0)| (l&0x0f); }
return [NSData dataWithBytes:tbuf length:tlen]; } |