如何使用 Objective-C 从十六进制中获取整数?

How get int from hex with Objective-C?

我有十六进制值 '\xa1' 的字符,它是 161,我如何在 int value 中得到 161?

这对我不起作用:

char a = '\xa1';
int b = a;

我有一个 uint8_t buffer[4],它从 NSInputStream 读取字节,具有这样的十六进制值,如何从该数组中获取具有 int 值的数组?

A​​ char 是有符号的(其中高位指定数字为负数)。您显然想要一个 unsigned char,所以要么:

unsigned char a = '\xa1';
int b = a;

或者

char a = '\xa1';
int b = (unsigned char) a;