请问UTF8与UNICODE的问题

gooyan 2006-05-20 03:16:19
我想问一下关于UTF-8编码的问题,我有一个程序想修改以支持国际版韩文、日文操作系统等,是通过UNICODE 16好呢,还是UTF-8好呢?这两个在编程上有什么不同之处?
如果修改为UNICODE 16我知道应该把Char 修改为TCHAR等等(WIndows 核心编程一书上提到了),
但如果修改为UTF-8呢,应该如何去动手去改?
UNICODE 16需要设置编译环境:UNICODE,_UNICODE和入口点wWinMainCRTStartup
UTF-8呢?
...全文
476 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xing_xing_xing 2006-05-24
  • 打赏
  • 举报
回复
还是UNICODE好
sycnick 2006-05-24
  • 打赏
  • 举报
回复
http://www.linuxforum.net/books/UTF-8-Unicode.html
Practise_Think 2006-05-24
  • 打赏
  • 举报
回复
如果是WINDOWS还是UNICODE好,不过如果编码的时候没有考虑到使用UNICODE就并不是简单地打开几个宏就完事的了
striking 2006-05-24
  • 打赏
  • 举报
回复
http://www.linuxforum.net/books/UTF-8-Unicode.html
yunyu97 2006-05-24
  • 打赏
  • 举报
回复
你可以在网上查查有关unicode,ucs,utf-8,utf-16的来历以及区别。总的来说unicode是编码规范,就好比我国的gb2312一样,但是由于它是2(4)字节的编码,而很多操作系统的内部都是使用ascii码的,对于这种2(4)字节的编码有可能出现错误(比如编码为00xx的情况在内存中为xx00,而0在内存的字符串处理中表示结束),于是为了兼容原来的机制以及程序,就出现了传输规范,这就是utf-8或者utf-16.请参考下面的网页http://www.linuxforum.net/books/UTF-8-Unicode.html
所谓国际化仅仅是为了能够让字符(文件名)在终端上正确的显示出来,你如果要支持所有的操作系统,那么你必须知道这个操作系统的本地编码是什么。所谓本地编码一般指的是当前操作系统文件名的存储所用的编码,有可能是ascii,也有可能是gb2312,也有可能是unicode或者其他的非unicode编码。那你的程序,也就是你在进行字符串处理的时候你准备用什么样的编码。一般我们不可能在这个操作系统上用这个操作系统的本地编码,在那个操作系统上用那个操作系统的本地编码,因此一般来说统一使用unicode编码(用2字节表示一个字符)。然后再为当前的操作系统准备一张双向的转换码表,比如说现在要将某个文件改名,那么可以将要改的目标名称(unicode)转换为本地编码传给系统,然后再刷新这个文件名,这就需要把系统传递给程序的本地编码先转换为unicode然后再放入内存的数据结构中等待下一步的操作。
coolzdp 2006-05-24
  • 打赏
  • 举报
回复
我这样理解的不知道对不对
utf-8适合用于网络传输
unicode用于windows应用程序国际化,
linux就不知道了
anothervip 2006-05-24
  • 打赏
  • 举报
回复
mark
yunyu97 2006-05-23
  • 打赏
  • 举报
回复
无论是utf-16还是utf8都是对unicode传输规则的一个标准。这个标准与所支持的操作系统是没有关系的,因为对于你所需要处理的字符来说,最后你都必须要把它变为标准的unicode编码。
楼主的意思可能是对于文本的处理,那么一般来说2个都需要支持。对于windows操作系统来说,一般都是在本地内存中使用unicode,在底层使用本地编码,因此编程的时候要具体问题具体分析。
gooyan 2006-05-23
  • 打赏
  • 举报
回复
more suggestion?
狂放之歌 2006-05-22
  • 打赏
  • 举报
回复
混分~~

unicode 包括全球所有已知的 电子化的字符~还有富裕的~
striking 2006-05-22
  • 打赏
  • 举报
回复
UNICODE
striking 2006-05-22
  • 打赏
  • 举报
回复
http://www.regexlab.com/zh/encoding.htm
真糨糊 2006-05-22
  • 打赏
  • 举报
回复
应该用UNICODE,我们公司的国际化版本就是用UNICODE
gooyan 2006-05-22
  • 打赏
  • 举报
回复
假设使用UTF-8的话,在编程过程中,跟使用UNICODE有什么区别?我看了很多文章都是网页方面的编码问题。VC方面的好象很少很少。
蒋晟 2006-05-22
  • 打赏
  • 举报
回复
用UTF16
UTF-8太占存储空间了
DentistryDoctor 2006-05-21
  • 打赏
  • 举报
回复
应该用UNICODE

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧