百科问答小站 logo
百科问答小站 font logo



目前(2020 年)开发WINDOWS程序,用UNICODE还是多字节更实际? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

开发Windows驱动,建议用Unicode,因为Windows内核里的API绝大多数只提供了Unicode的版本;

开发多语言Windows应用,建议用Unicode,否则会有乱码的问题;

开发跨Windows/Linux平台的库或者应用,建议用UTF-8或者Unicode,具体用哪个,要取决于代码的主要面向平台;

开发Windows网络协议类的应用,建议用Unicode或者UTF-8,因为部分网络协议是UTF-8编码的;

开发跨语言的库,建议使用目标语言的字符集,因为有些语言的字符集转换太难搞了;

如果是几十行几百行的C语言作业,那么用什么都无所谓。

多字节版本的库,主要来源有两个:

1. 老的Windows上的代码改过来了,比如跟VC6一个年代的东西,作者没有动力去更新库。因为毕竟Unicode版本要稍微多一点点东西,老代码写的不规范的话,改起来也不是特别快的。
2. 从Linux上扒拉出来的东西,Linux是UTF-8,但UTF-8跟字节流没什么区别,操作起来也都差不多,UTF-8的代码用来操作多字节字符串看上去似乎是差不多的,而UTF-8到Windows的Unicode是要改代码的,有些人扒拉出来的东西,懒得改了,就成了多字节版本的库了。

说到底,还是开发者懒导致的。

任何应用都要做字符集转换,除非你的代码真的不跨平台,不跨语言。

怕麻烦,怕写代码,又想要支持多平台多语言,这样是不可能做到的。


user avatar   ikkiz-70 网友的相关建议: 
      

我觉得应该派解放军去保护我们的自由贸易权力,如果英国人不肯的话就打进白金汉宫,火烧温莎堡




  

相关话题

  python是用C实现的,Java是用C++实现的,那为什么不直接用C或C++呢? 
  const TYPE * 究竟限制的是什么? 
  golang 为什么没有三元运算符? 
  C++工程中的目录有何意义? 
  怎么在事先未知将要输入数字的个数的情况下,将其全部赋值给一个数组? 
  为什么我写代码时总是手滑把main打成mian? 
  用惯了 C# 之后再也不想用别的语言了,正常吗? 
  在公司里开发软件 和学校有什么不同? 
  C语言指针难吗?如何看待数学大v认为指针比范畴论还难? 
  C++对一个map不断insert delete元素(多任务中的一个任务),是否存在内存碎片问题? 

前一个讨论
x86架构处理器中不同的寄存器有性能区别吗?
下一个讨论
如何看待广东动车买多一个站收费更便宜的收费政策?





© 2025-06-28 - tinynew.org. All Rights Reserved.
© 2025-06-28 - tinynew.org. 保留所有权利