第二章 字符和字符串处理

一、概述

        所谓字符编码就是将每一个"字符"对应到一个"数字"上去,因为数字更容易被计算机识别

        所谓字符编码方式就是不同的"对应"方式。

        常用的编码方式有 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值