百科问答小站 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 网友的相关建议: 
      

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




  

相关话题

  一个人想写出foxmail这种软件,需要知道哪些知识(详细的)? 
  C语言本身是用什么语言写的? 
  程序员做到什么程度才不会被算作 API caller? 
  有哪些对用户造成物理攻击的软件BUG案例? 
  2022年学C++开发好比49年入国军,没什么公司在用C++了? 
  如果C语言程序在一台电脑上可以运行,到另外一台就运行出问题是什么原因? 
  如何解决windows上用fwrite()向文件写入内容时末尾的 问题? 
  为阅读应用添加内容编辑功能是否很难? 
  C++中,自定义函数写在main之前更好,还是之后更好? 
  将文件编译成某种代码,打印到A4纸上,这种想法是否可行? 

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





© 2025-01-03 - tinynew.org. All Rights Reserved.
© 2025-01-03 - tinynew.org. 保留所有权利