【问题标题】:getting alphabetical number of a char获取字符的字母数字
【发布时间】:2009-03-31 18:38:06
【问题描述】:

我正在使用目标 c 进行编程,我想获得字符的字母顺序。例如: 一个,一个 - 1, 乙,乙 - 2, ... Z, z - 26

Objective C 中有一个函数可以让我实现这个目标吗?

提前谢谢你, 伊利亚。

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    如果你能保证字符集是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
    

    【讨论】:

      【解决方案2】:

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

      int n = ch & 0x1F;
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-09
        • 2015-04-09
        • 1970-01-01
        • 2021-03-07
        • 1970-01-01
        • 1970-01-01
        • 2020-11-19
        相关资源
        最近更新 更多