大概就是C++支持一个基本的字符集(比如大小写英文字母、数字、换行符、空格等,总之就是普通键盘能打出来的),还支持扩展字符集(比如说德文啊、法文啊之类他们带符号的那种字母)。
C++有一种表示这种特殊字符的机制,独立于任何特殊的键盘(貌似就是没这个键盘我也能打出来),使用的是通用字符名。
这种通用字符名的用法,类似于转义序列。以\u或者\U打头,\u后面跟8个十六进制位,\U后面跟16个十六进制位。——(注,不懂)
具体怎么表示,需要查Unicode和ISO 10646 这两个表。(所以其实我只记个概念)
比如:
#include<iostream> int main() { int \u00F6reer; //\u00F6在ISO 10646码点是o上面一个小u std::cout << "Let them eat g\u00E2teau" ; //\u00E2的在ISO 10646码点是a上面一个小符号 system("pause"); return 0; }
不过我的没法显示。。所以暂时应该用不上。
关于Unicode和ISO 10646:
Unicode是一种表示各种各样字符的解决方案(或者说,他就是给无数字符编号,你只要输入对应的编号,就能显示出字符),例如ASCII码就是他的子集(也就是他的一部分)。而他的这个编号,就是码点,通常是这么表示的:U-222B。U就是指他是Unicode的字符,而后面的222B就是码点(十六进制编号)。他包括各种英文字母,拉丁文字母,象形文字(比如中文日文)和一些手写符号等等。
等需要输入的时候,应该就是这么输入的,比如\u222B就能显示字符∫。