【发布时间】:2009-03-31 18:38:06
【问题描述】:
我正在使用目标 c 进行编程,我想获得字符的字母顺序。例如: 一个,一个 - 1, 乙,乙 - 2, ... Z, z - 26
Objective C 中有一个函数可以让我实现这个目标吗?
提前谢谢你, 伊利亚。
【问题讨论】:
标签: objective-c
我正在使用目标 c 进行编程,我想获得字符的字母顺序。例如: 一个,一个 - 1, 乙,乙 - 2, ... Z, z - 26
Objective C 中有一个函数可以让我实现这个目标吗?
提前谢谢你, 伊利亚。
【问题讨论】:
标签: objective-c
如果你能保证字符集是ASCII,那么你可以从'A'中减去字符然后加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
【讨论】:
只保留字符代码的低五位:
int n = ch & 0x1F;
'A'的字符码是0x41,'a'是0x61,所以去掉前三位后都是0x01。 (当然,其他角色也一样。)
【讨论】: