单字节和多字节字符集

ASCII 字符集在 0x00 - 0x7F 范围内定义字符。 还有许多其他字符集(主要是欧洲字符集),它们在 0x00 - 0x7F 范围内定义与 ASCII 字符集相同的字符,还在 0x80 - 0xFF. 范围内定义扩展字符集。 8 位单字节字符集 (SBCS) 足以表示 ASCII 字符集以及许多欧洲语言的字符集。 但是,一些非欧洲语言的字符集(如日本汉字)包含的字符比单字节编码方案所能表示的字符多得多,因此需要多字节字符集 (MBCS) 编码。

注意

许多 Microsoft 运行库 SBCS 例程根据需要处理多字节字节、字符和字符串。 许多多字节字符集将 ASCII 字符集定义为子集。 在许多多字节字符集中,0x00 - 0x7F 范围内的每个字符都与 ASCII 字符集中具有相同值的字符相同。 例如,在 ASCII 和 MBCS 字符串中,单字节 null 字符(“\0”)的值为 0x00 并指示终止空字符。

多字节字符集可能包括单字节和双字节字符。 因此,多字节字符串可以包含单字节和双字节字符的组合。 两字节多字节字符具有一个前导字节和一个尾字节。 在特定的多字节字符集中,前导字节位于某个范围内,尾字节也是如此。 当这些范围重叠时,可能需要评估上下文,以确定给定字节是作为前导字节还是结尾字节。

另请参阅

国际化
按类别分的通用 C 运行时例程