1.04 字符编码
编码历史
ASC 7位 > 128
ASCII 8位 > 256
DBCS
UNICODE
- LINUX : UTF-8
- WINDOWS : UTF-16
宽字节字符
wchar_t 每个字符占2个字节, unsigned short 类型,
定义时,前面要加L (L”Hello”), 采用UNICODE编码
wprint(L”%s\n”,xxx)
TCHAR
根据是否定义宽字节 自适应char
打印unicode
wprintf 对unicode支持不完善, windows使用 WriteConsile
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
WriteConsole(
hOut;// 标准输出句柄, 显示器
pszText,
wsclen(pszText),
NULL,
NULL);
// 3个标准句柄
STD_INTPUT_HANDLE
STD_OUTPUT_HANDLE
STD_ERROR_HANDLE
多字节字符集
如果设置为unicode字符集
相当于编译时添加#define UNICODE
设置为多字节字符集 => 不自动添加#define UNICODE
原因: 系统调用函数 很多使用TCHAR, 如果用UNICODE字符集, 那么书写的参数都得加L( L”HELLO” ) 麻烦