请教下为啥VS默认设置为unicode呢? unicode主要用在哪些方面?
谢谢

解决方案 »

  1.   

    在百度上找到的...希望有帮助像VC6这样的早期版本默认是用MBCS(多字节字符集),但现在的高版本都改成默认用Unicode了。
    VC6默认的MBCS也是既可以使用英文字母也可以使用汉字字符的,MBCS对之前的ASCII进行扩充,在不改变原有字符编码的同时添加占用2个字节的汉字等他国语言字符,这样就导致占用一个字节和两个字节的混在一起,使用起来不方便。Unicode将各国字符统一编码,都占用两个字节。Unicode较MBCS是目前更认可的字符集,Windows系统API函数内部就是使用Unicode字符集,当然我们再调用WindowsAPI是可以使用尾部带A的版本来传入MBCS字符串,但是系统内部会将它转换为Unicode再进行处理,耗费了时间,可以直接调用尾部带W的版本传入Unicode字符串,就免去了字符集转换的时间。所以VC6默认的MBCS也可以用,只不过效率相对低一些而已。
      

  2.   

    内核用的字符集都是unicode
    所以应用层也用unicode的话,省去ascii转换unicode的时间,效率会高的。
    API函数都提供A和W两种。
    而最后进入内核服务的只有W。
      

  3.   

    Windows核心编程中写到
    1.可以很容易的在不同语言之间进行数据交换
    2.使你能够分配支持所有语言的单个二进制.exe文件或DLL文件
    3.提高应用程序的运行效率
      

  4.   

    vc6的话,好麻烦的。高版本的都默认unicode,现在开发原因使用vc6,问题太多