我有一个问题,我需要将char []转换为十六进制格式的字符串
例如
Nsstring * result;
char[4]={0x01,0x02,0x03,0x04};
/// convert -- char[] -> Nsstring in Hex format
Nslog(@"%@",result);
预期输出:"01020304"
谢谢
我有一个问题,我需要将char []转换为十六进制格式的字符串
例如
Nsstring * result;
char[4]={0x01,0x02,0x03,0x04};
/// convert -- char[] -> Nsstring in Hex format
Nslog(@"%@",result);
试试这个:
NSMutableString * result = [[NSMutableString alloc] init];
char cstring[4]={0x01,0x02,0x03,0x04};
/// convert -- char[] -> Nsstring in Hex format
int i;
for (i=0; i<4; i++) {
[result appendString:[NSString stringWithFormat:@"%02x",cstring[i]]];
}
NSLog(@"%@",result);
[result release];
格式化符号"%02x"将把一个单独字符显示为两位零填充的十六进制数字。只需遍历您的数组并用它们构建字符串即可。
initWithCapacity:
来避免重新分配内存,因为您知道字符串的长度。 - Adam Rosenfield