Objective c 从NSString到十六进制的转换

Objective c 从NSString到十六进制的转换,objective-c,Objective C,我是这个领域的新手,我正在研究将NSString转换为十六进制的方法,并且一直被它所困扰。假设我的字符串是1,FF,F8,现在我如何将其转换为十六进制数,如0x01,0x0FF和0x0F8,第一步是将包含“1,FF,F8”的字符串拆分为包含单独十六进制值的三个字符串,“1”,“FF”,“F8” 至于从NSString到hex的转换,我不太确定您到底想要什么 如果您只想在十六进制值的开头添加一个“0x0”,您可以执行以下操作: NSMutableArray *formattedHexValues

我是这个领域的新手,我正在研究将NSString转换为十六进制的方法,并且一直被它所困扰。假设我的字符串是1,FF,F8,现在我如何将其转换为十六进制数,如0x01,0x0FF和0x0F8,第一步是将包含“1,FF,F8”的字符串拆分为包含单独十六进制值的三个字符串,“1”,“FF”,“F8”

至于从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);
}

在浏览器中键入此项,这样可能会出现一两个语法错误,但通常应该可以正常工作。

您需要提供更多详细信息,并说明您尝试过的内容以及失败的原因。没有这些,人们试图帮助你只是猜测。例如,你所说的“变成十六进制数”是什么意思;您可能意味着生成看起来像十六进制文字的文本字符串,或者将文本解释为以十六进制表示的数字列表(存储在程序中的数字不是“十六进制”,但它们的文本表示可以是)。因此,添加细节和您尝试过的内容,有人可能会帮助您。
for(NSString *hexString in formattedHexValues) {
    unsigned int value;
    [[NSScanner scannerWithString:hexString] scanHexInt:&value];
    NSLog(@"The value is %d", value);
}