获取字母数字的字符

时间:2009-03-31 18:38:07

标签: objective-c

我正在使用目标c编程,我希望得到字符的字母顺序。例如: A,a - 1, B,b - 2, ... Z,z - 26

Objective C中是否有一个功能可以让我实现这个目标?

提前谢谢你, 伊利亚安德。

2 个答案:

答案 0 :(得分:4)

如果你能保证字符集是ASCII ,那么你可以从'A'中减去char然后再添加1(如果你想以1开始计数,只需添加1) 0)。

例如:

char ch = 'E';
int num = toupper(ch) - 'A' + 1; // to upper since 'A' and 'a' are not the same character.
// num now is 5

答案 1 :(得分:2)

只需保留字符代码的低五位:

int n = ch & 0x1F;

'A'的字符代码是0x41,'a'是0x61,所以在剥去前三位后它们都是0x01。 (当然,它对其他角色也是一样的。)