我是这个领域的新手,我正在努力将NSString转换为Hex并且已经陷入其中。我的String假设是1,FF,F8现在如何将其转换为十六进制数字,如0x01,0x0FF和0x0F8
答案 0 :(得分:1)
第一步是将包含“1,FF,F8”的字符串拆分为三个包含单独的十六进制值“1”,“FF”,“F8”的字符串。
NSString *hexString = @"1,FF,F8";
NSArray *hexValues = [hexString componentsSeparatedByString:@","];
至于从NSString到hex的转换,我不太确定你到底想要什么。
如果您只想在十六进制值的开头添加“0x0”,您可以这样做:
NSMutableArray *formattedHexValues = [NSMutableArray array];
for(NSString *hexValue in hexValues) {
[formattedHexValues addObject:[NSString stringWithFormat:@"0x0%@", hexValue]];
}
如果要实际获取十六进制字符串的整数值,请执行以下操作:
for(NSString *hexString in formattedHexValues) {
unsigned int value;
[[NSScanner scannerWithString:hexString] scanHexInt:&value];
NSLog(@"The value is %d", value);
}
在浏览器中键入此内容,因此可能存在一两个语法错误,但通常应该可以正常工作。