首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将十六进制字符串转换为长字符串

将十六进制字符串转换为长字符串
EN

Stack Overflow用户
提问于 2009-12-10 00:06:48
回答 3查看 11.9K关注 0票数 16

有没有Cocoa类可以帮助我将像0x12FA这样的NSString中的十六进制值转换为longNSNumber?看起来像NSNumberFormatter这样的类都不支持十六进制数字。

谢谢你,华英

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-10 00:59:24

下面是一个简短的示例,说明如何使用NSScanner完成此操作:

NSString* pString = @"0xDEADBABE";
NSScanner* pScanner = [NSScanner scannerWithString: pString];

unsigned int iValue;
[pScanner scanHexInt: &iValue];
票数 41
EN

Stack Overflow用户

发布于 2009-12-10 00:08:41

请参见NSScanner's scanHex...:方法。这将使您获得可以包装在NSNumber中的原语。

票数 11
EN

Stack Overflow用户

发布于 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);
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1874910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档