上QQ阅读APP看书,第一时间看更新
2.8 字符
在Objective-C中,字符类型用来操作单个字符,使用char关键字定义,字符内容包含在一对单引号中;在NSLog()函数中,可以使用“%c”格式化显示字符。如下面的代码。
#import <Foundation/Foundation.h> int main(int argc, const char *argv[]) { @autoreleasepool { char chA = 'A'; NSLog(@"%c", chA); } return 0; }
代码会显示大写字母A。
关于char类型的操作。我们经常会将它转换为整数,而这个整数就是字符的ASCII编码。如int ascA = (int)'A';。
char类型的另一个常用功能就是组合为字符串,也就是我们所说的C风格字符串,其本质上是一个以“\0”字符结束的char数组。数组的详细内容会在第6章介绍,我们先通过下面的代码简单了解一下这种字符串的使用。
#import <Foundation/Foundation.h> int main(int argc, const char *argv[]) { @autoreleasepool { char hello[] = {'H', 'e', 'l', 'l', 'o', '\0'}; // char hello[] = "Hello\0"; NSLog(@"%s", hello); } return 0; }
此外,在Objective-C项目中,我们还是更建议使用NSString类或NSMutableString类来处理字符串,在第7章会详细讨论。
无论是char类型或是字符串中,都会有一些特殊的字符,如单引号用于定义字符、双引号用于定义字符串内容,还有一些不可见字符,如ASCII编码为0的字符、换行符等。对于这些字符,应该在字符或字符串中使用转义字符来定义,常用的包括:
❑ \’表示单引号。
❑ \"表示双引号。
❑ \n表示换行符。
❑ \t表示制度符。
❑ \\表示\字符。
❑ \0表示ASCII代码为0的字符,在C风格字符串中,都以此字符作为结束符号。
图2-15为0~127编码的ASCII码表,大家可以参考使用。
图2-15 ASCII编码0到127