由于项目需要,最近将办公室里的一个学长写的MFC项目从vs2010移植到vs2013,出现了一堆多字节转到Unicode的错误,其实在写这个项目的时候就有想过为什么不用Unicode,《windows核心编程》里面也建议使用Unicode,引用如下:
①Unicode使程序的本地化变得更容易。
②使用Unicode,只需发布一个二进制(.exe或DLL)文件,即可支持所有语言。
③Unicode提升了应用程序的效率,因为代码执行速度更快,占用内存更少。
④Windows内部的一切工作都是使用Unicode字符和字符串来进行的。所以,假如你非要传入ANSI字符或字符串,Windows就会被迫分配内存,并将ANSI字符或字符串转换为等价的Unicode形式。使用Unicode,你的应用程序能轻松调用所有不反对使用(nondeprecated)的Windows函数,因为一些Windows函数提供了只能处理Unicode字符和字符串的版本。
⑤使用Unicode,你的代码很容易与COM集成(后者要求使用Unicode字符和字符串)。
⑥