我正在使用目标c编程,我希望得到字符的字母顺序。例如: A,a - 1, B,b - 2, ... Z,z - 26
Objective C中是否有一个功能可以让我实现这个目标?
提前谢谢你, 伊利亚安德。
答案 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。 (当然,它对其他角色也是一样的。)