7. 多字节字符和多字节字符串
最初C中使用的是ASCII字符,也就是采用7位(1个字节就足够)表示的字符,但是如果需要表示出汉字等其他字符,则需要使用多字符。多字节字符是由一个或多个字节的序列构成的字符。 每个字节序列表示扩展字符集中的单个字符。 多字节字符用于字符集(如日文汉字)中。
宽字符是宽度始终为 16 位的多语言字符代码。 字符常量的类型是 char;对于宽字符,该类型是 wchar_t。 由于宽字符始终具有固定大小,因此使用宽字符集可以简化使用国际字符集进行的编程。宽字符串文本 L"hello" 将成为类型为 wchar_t 的六个整数的数组:
{L'h', L'e', L'l', L'l', L'o', 0}
由于宽字符始终具有固定大小,因此使用宽字符集可以简化使用国际字符集进行的编程。
stdlib.h中与多字节和多字节字符串相关的函数如下:
mblen:获取多字节字符的长度
mbtowc:将多字节字符转化为宽字符
wctomb:将宽字符转换为多字节字符
mbstowcs:将多字节字符串转化为宽字符串
wcstombs:将宽字符串转化为多字节字符串
评论