是否有任何Cocoa類可以幫助我將NSString中的十六進制值轉換爲0x12FA
或long
或NSNumber
?它看起來不像NSNumberFormatter
支持十六進制數字的任何類。將十六進制字符串轉換爲長
謝謝, 華穎
是否有任何Cocoa類可以幫助我將NSString中的十六進制值轉換爲0x12FA
或long
或NSNumber
?它看起來不像NSNumberFormatter
支持十六進制數字的任何類。將十六進制字符串轉換爲長
謝謝, 華穎
這裏是你將如何使用NSScanner做一個簡單的例子:
NSString* pString = @"0xDEADBABE";
NSScanner* pScanner = [NSScanner scannerWithString: pString];
unsigned int iValue;
[pScanner scanHexInt: &iValue];
見NSScanner's scanHex ...:方法。這會讓你看到你可以包裝在NSNumber中的原語。
這裏是另一種方式的轉換,很長整型到十六進制字符串。
第一個十六進制爲long long。
NSString* pString = @"ffffb382ddfe";
NSScanner* pScanner = [NSScanner scannerWithString: pString];
unsigned long long iValue2;
[pScanner scanHexLongLong: &iValue2];
NSLog(@"iValue2 = %lld", iValue2);
和其他方式,向longlong的十六進制字符串...
NSNumber *number;
NSString *hexString;
number = [NSNumber numberWithLongLong:iValue2];
hexString = [NSString stringWithFormat:@"%qx", [number longLongValue]];
NSLog(@"hexString = %@", hexString);
這不是http://stackoverflow.com/questions/1870475的副本,這是關於轉換十六進制數字給*一個字符串*。 – 2009-12-09 19:10:08