有没有Cocoa类可以帮助我将像0x12FA
这样的NSString中的十六进制值转换为long
或NSNumber
?看起来像NSNumberFormatter
这样的类都不支持十六进制数字。
谢谢你,华英
发布于 2009-12-10 00:59:24
下面是一个简短的示例,说明如何使用NSScanner完成此操作:
NSString* pString = @"0xDEADBABE";
NSScanner* pScanner = [NSScanner scannerWithString: pString];
unsigned int iValue;
[pScanner scanHexInt: &iValue];
发布于 2009-12-10 00:08:41
请参见NSScanner's scanHex...:方法。这将使您获得可以包装在NSNumber中的原语。
发布于 2011-08-18 22:40:22
这是另一种方式的转换,一个长长的整型到十六进制字符串。
首先将十六进制转换为long long。
NSString* pString = @"ffffb382ddfe";
NSScanner* pScanner = [NSScanner scannerWithString: pString];
unsigned long long iValue2;
[pScanner scanHexLongLong: &iValue2];
NSLog(@"iValue2 = %lld", iValue2);
另一种方式,龙龙到十六进制字符串..。
NSNumber *number;
NSString *hexString;
number = [NSNumber numberWithLongLong:iValue2];
hexString = [NSString stringWithFormat:@"%qx", [number longLongValue]];
NSLog(@"hexString = %@", hexString);
https://stackoverflow.com/questions/1874910
复制相似问题