UNICODE与MBCS等字符区别

来源:互联网 发布:淘宝买兔子推荐 编辑:程序博客网 时间:2024/06/15 08:07

字符类型有三种编码格式:

1:SBCS (single byte character set)单字节字符集。在这种编码格式下,所有字符都用一个字节表示。ASCII码就是单字节字符。用“0”来表示一个字节的结束。

2 :Unicode 是一种所有的字符都使用两个字节编码的编码模式。Unicode 字符有时也被称作 宽字符。

3:MBCS (multi-byte characters set)多字节字符集。在windows里面 MBCS 包含两种字符类型:单字节字符(single byte characters)和双字节字符(double byte characters)。         由于windows里使用的多字节字符绝大部分是两个字节长,MBCS常被DBCS代替。


Unicode 与 MBCS 的区别,从上说明可以看出:

MBCS 字符可以使用不同长度的字节编码。单字节字符包含拉丁文字母表及ASCII码和DOS操作系统定义的图像字符。双字节字符被用来表示东亚及中东的语言。

Unicode 被用来COM及Windows NT操作系统内部。


char 是单字节字符。双字节字符也可以用char类型来进行操作。Unicode 字符用wchar_t来表示。Unicode 字符和字符串常量用前缀 L 来表示。

例如:wchar_t wch = L"1";wchar_t * wsz = L"Hello";


同一个汉字的Unicode码和GB(K)码是不一样的

_T是windows的宏,适用于UNICODE 和MBCS环境,在定义了Unicode 的情况下就是双字节,未定义就是单字节,

L是C语言的,明确标识是双字节。适用于UNICODE环境



字符类型           含义

WCHAR            Unicode character(wchar_t)

TCHAR             MBCS or Unicode character

LPSTR             string of char (char*)

LPCSTR           const string of char(const char*)

LPWSTR          string of  WCHAR(WCHAR*) 

LPCWSTR        constant string of WCHAR(const WCHAR*)

LPTSTR           string of TCHAR(TCHAR*)

LPCTSTR         constant string of TCHAR(const TCHAR*)

原创粉丝点击