一、概述
所谓字符编码就是将每一个"字符"对应到一个"数字"上去,因为数字更容易被计算机识别。
所谓字符编码方式就是不同的"对应"方式。
常用的编码方式有 UTF-8 UTF-16 UTF-32
如果是每一个字节(8bit)对应一个字符,则称为ANSI字符 ---------------(UTF-8)
如果是每一到二个字节(16bit)对应一个字符,则称为Unicode字符----------(UTF-16)
二、安全字符串处理函数
1、wcscpy 等类型的
2、_tcscpy_s 等类型的 (有缓冲区大小信息)
3、StringCchCat 等类型的 (有控制填充符的能力)
三、字符串比较函数
1、CompareString (有按照对应语言比较的能力)
2、CompareStringOrdinal (按照码位比较,通常用于代码内部中的字符串比较)
四、要使用Unicode
1、windows内部都使用的是此种类型的字符
五、其他建议
1、_countof 函数判断字符数,_sizeof 函数判断字节数
2、避免使用lstrcpy等C库废弃的函数,多使用 带_s结尾的函数
3、利用/GS 和 /RTCs 编译选项,检查缓冲区溢出
4、_UNICODE 和UNICODE 要一起都定义的
5、在编写ANSI版本的函数时,尽量先编UNICODE版本的函数,在ANSI版本的函数中先将字符串转换为UNICODE字符然后调用UNICODE版本的函数。
6、_T()在 UNICODE中是L(表示按宽字节保存),在ANSI中则没有L。
六、其他函数
1、MultiByteToWideChar 和 WideCharToMultiByte
2、IsTextUnicode