十进制->十六进制
Byte bytes[]={0xA6,0x27,0x0A};
NSString *strIdL = [NSString stringWithFormat:@"%@",[[NSString alloc] initWithFormat:@"%02lx",(long)bytes[0]]];
十六进制->十进制
NSString *rechargeInfo = @
"0xff055008"
;
NSString *cardId2 = [rechargeInfo substringWithRange:NSMakeRange(2,2)];
cardId2 = [NSString stringWithFormat:@"%ld", strtoul([cardId2 UTF8String],0,16)];
NSString *str = @
"0xff055008"
;
//先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型
unsigned
long
red = strtoul([str UTF8String],
0
,
16
);
//strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以:
unsigned
long
red = strtoul([@
"0x6587"
UTF8String],
0
,
0
);
NSLog(@
"转换完的数字为:%lx"
,red);