1.三种编码方式和三种字符类型。
- 第一种编码方式是单字节字符集,称之为 SBCS,它的所有字符可用一个字节存储。ASCII 码就是SBCS。SBCS字符串由一个零字节结尾。
- 第二种编码方式是多字节字符集,称之为 MBCS,它包含的字符中有单字节长的字符,也有多字节长的字符。Windows 用到的 MBCS 只有二种字符类型,单字节字符和双字节字符。因此Windows 中用得最多的字符是双字节字符集,即 DBCS,通常用它来代替 MBCS。
- 第三种编码方式是Unicode。 Unicode 只是一个字符集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储,通常说 Unicode 字符,指的是 UTF16,既所有字符都以双字节存储,故有时也将 Unicode 称为宽字符集(Wide characters)。
2.ASCII、MBCS、ANSI、Unicode编码的关系和区别
3.Unicode 和 MBCS 字符串之间的转换
- Windows 编程中常常看到函数 WideCharToMultiByte,其第一个参数 CodePage 为CP_ACP时, 指的 UTF-16 表示的 Unicode 字符串 (WCHAR) 转化为 MBCS(CHAR), CodePage 为CP_UTF8 时, 指的 UTF-16 表示的Unicode 字符串 (WCHAR) 转化为 UTF-8 表示的Unicode 字符串(CHAR),