字符集(Character Set),是计算机中所有字符的标号的集合,这些编号一一与字符相对应,这些编号也称编码值。在C语言中,一个字符的表示除了直接用字符实体表示,也可以用它在字符集中对应的编制值(int)表示。这种使用编码值间接地表示字符的方法称为转义字符(Escape Character)。
一般,转义字符是以\或\x开头,\开头表示是用八进制形式的编码值,\x开头表示是用十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十六进制。
例如:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a = '\61'; //以\开头,采用八进制表示字符1
char b = '\x31'; //以\x开头,采用十六进制表示字符1
char* str1 = "\x31\x32\x33\x61\x62\x63"; //多个以\开头,采用十六进制表示字符串"123abc"
char* str2 = "\61\62\63\141\142\143"; //多个以\x开头,采用八进制表示字符串"123abc"
char* web_url = "\x68\164\164\x70://www.baidu.com"; //混用八进制和十六进制表示
puts(str1);
puts(str2);
puts(web_url);
return 0;
}
【值得注意的是,因为转义字符的设定是为了方便使用ASCII编码,所以取八进制和十六进制数的范围是有限制的:八进制最大取值是\177,十六进制最大取值是\7f!!!】
除过一些常用到的字符外,还有些系特殊字符也需要了解掌握: