单字节和多字节字符集

ASCII 字符集在 0x00 - 0x7F 范围内定义字符。 还有其他字符集,主要是欧洲字符集,用于定义范围中的字符0x00 - 0x7F与 ASCII 字符集完全相同,还定义0x80 - 0xFF的扩展字符集。 因此,8 位单字节字符集(SBCS)足以表示 ASCII 字符集和许多欧洲语言的字符集。 但是,某些非欧洲字符集(如日语汉字)包含的字符数多于单字节编码方案可以表示的字符数,因此需要多字节字符集(MBCS)编码。

注意

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

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

另请参阅

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