在objective-C中,我有一个NSString,其中包含一个字母。如何获取该字母的ASCII值?

时间:2010-07-12 05:22:13

标签: objective-c cocoa nsstring ascii

例如:

NSString *foo = @"a";

如何获取此值的ASCII值? (我知道它真的是97,但我如何使用Objective-C得到它?)

我想我可以将它转换为char但是到目前为止我没有运气。抱歉太吵了!

2 个答案:

答案 0 :(得分:2)

你可以尝试这个(未经测试的代码)

NSString *field = @"s";

unichar c = [field characterAtIndex:0];
NSLog(@"decimal char %d", c);

反之亦然

unichar asciiChar = 65; // the character A; can also be written like 'A' or 0x0041
NSString *stringWithAsciiChar = [NSString stringWithCharacters:&asciiChar length:1];

希望有所帮助

问候

答案 1 :(得分:1)

您可以使用NSString的{​​{3}}获取特定索引处的角色。结果是unichar,即unsigned short。您可以通过强制转换将其用作ASCII值,尽管它是一个unicode字符。