prev up next   top/contents search

comp.lang.c FAQ 列表· 第 8.10 题

我开始考虑多国字符集的问题,并且我担心使sizeof(char)成为 2 以便表示 16 位字符集。


如果类型char被设置为 16 位,sizeof(char)仍然是 1,并且CHAR_BIT<limits.h>将是 16,并且声明(或用malloc)一个 8 位对象将变得不可能。

传统上,字节并不一定就是 8 位,而只是内存中一个较小的区域,通常适合存储一个字符。C 标准遵循这种用法,因此mallocsizeof使用的字节可能超过 8 位。[脚注](标准不允许它们小于 8 位。)

为了在不要求扩展类型的情况下处理多国字符集char,ANSI/ISO C 定义了“宽”字符类型wchar_t,以及相应的宽字符串字面量,以及用于处理和转换宽字符字符串的函数。

另见问题 7.8

参考文献:ISO 节 5.2.1.2、节 6.1.3.4、节 6.1.4、节 7.1.6、节 7.10.7、节 7.10.8
Rationale 节 2.2.1.2
H&S 节 2.7.3 pp. 29-30、节 2.7.4 p. 33、节 11.1 p. 293、节 11.7,11.8 pp. 303-310


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管