2012-06-12 53 views
2

如何将它转换为192作为整数值?十六进制NSString为int值

NSString* hex = @"c0"; 

,或者有char a1 = **'\xc0'; **如何转换成int?我不能在Xcode中使用atoi。 :(

感谢

回答

2

你有两个选择,一个C风格的一个和Objective-C的一个,第一个是像

long value = 0; 
sscanf_s([hex cStringUsingEncoding:NSUTF8StringEncoding], "%x", &value); 

后者是一样的东西

long value = 0; 
NSScanner *scanner = [NSScanner scannerWithString:hex]; 
[scanner scanHexInt:&value]; 
+0

我最近开始为蓝牙设备进行开发,但无法弄清楚如何正确传递我的十六进制值的字符串表示。到目前为止还没有听说过NSScanner类,所以谢谢!这是答案,它的工作原理如预期的那样。 – abriggs