当前位置:嗨网首页>书籍在线阅读

73-宽字符和多字节字符

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

B.7.7 宽字符和多字节字符

宽字符和多字节字符是处理扩展字符集的两种不同的方法。例如,多字节字符可能是一个字节、两个字节、三个字节或更多字节,而所有的宽字符都只有一个宽度。多字节字符可能使用移位状态(移位状态是一个字节,确定如何解释后续字节);而宽字符没有移位状态。可以把多字节字符的文件读入使用标准输入函数的普通 char 类型数组,把宽字节的文件读入使用宽字符输入函数的宽字节数组。

C99在 wchar.h 库中提供了一些函数,用于多字节和宽字节之间的转换。 mbrtowc() 函数把多字节字符转换为宽字符, wcrtomb() 函数把宽字符转换为多字节字符。类似地, mbstrtowcs() 函数把多字节字符串转换为宽字节字符串, wcstrtombs() 函数把宽字节字符串转换为多字节字符串。

C11在 uchar.h 库中提供了一些函数,用于多字节和 char16_t 之间的转换,以及多字节和 char32_t 之间的转换。