我正在尝试将NSString转换为int HEX数组。

例如,如果我有@"HELLO"并且我想要获得0x48 0x45 0x4c 0x4c 0x4f
我尝试了字符串的每个字符:

unsigned int hexInt;
sscanf([stringParam UTF8String], "%u", &hexInt);


unsigned int hexInt;
[[NSScanner scannerWithString:stringParam]scanHexInt:&hexInt];

他们似乎都不起作用。

最好的获取方法是:从ASCII unsigned int res[]获得NSString

最佳答案

因此,您想将字符串的字符存储在整数数组中,对吗?

如果可以使用unsigned short(16位)而不是unsigned int(32位),那真的很容易。

NSUInteger length = [stringParam length];
unichar *characters = malloc(sizeof(unichar) * length);
[stringParam getCharacters:characters range:NSMakeRange(0, length)];
// Do whatever you want with the characters, then, once you're done...
free(characters);

关于objective-c - 将NSString转换为int HEX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14195871/

10-10 11:25