如题。unicode试图用唯一的数值,来对应世界上的任何一种语言里面的任何一种符号。但是,我感觉,中文就已经有很多个字了,大约可能有几万个,再加上日文,韩文之类的,我觉得世界上的字加起来,肯定是超过2^16所能表示的范围。如果是那样,则如何来表示这么多的文字呢?难道要32位?而且我们一般运算或者编程使用的,unicode是不是和 short的类型是一样的,也就是占用两个字节?请大侠来释疑。谢谢。
解决方案 »
- 求助:vc++2010 缺少MSADO15.tlh
- 提问:字体对话框的标题怎么修改??
- 视图拖放
- 我出差到深圳,我能否在深圳用电脑远程登录到我郑州办公室的机器(我办公室的机器有ip地址,我的机器在单位的局域网内,网管也有一个ip地址)。
- VC中当一个窗口被另一个窗口覆盖时,如何得到此消息?
- 如何把字符串转化成时间,和当前时间比较?
- csdn中有高手么?如果有的话分数全部奉上!没有的话走人!来看看这个问题
- 十万火急,三个问题。
- 求ftp代理和http代理的原理资料(不要rfc,源码,只要讲解原理的)。。。
- 在CPropertyPage中我如何传递一个指针进去?
- windows RTC问题
- HOOK怎样捕获得指定的EDIT的键盘消息
但不同国家地区的编码是不同的,只要中国汉字不超过60000就可以啊
三楼说的很有道理,目前广泛使用的16位的unicode,里面已经包含了2万多个汉字,这个我还是很赞同的,其实说实话,中国字是表意文字,就比较多,其他很多国家的文字,都是表英文字,就没有那么多,所以我想常用的,用16位来表示所有语言的所有符号,应该是足够了,呵呵。不知道我理解的对不对。今天为了弄懂这个,花费了很多时间在网上找,但是还是云里雾里的,看wiki也不是很看得懂,呵呵。
=========================
胡说八道,要是这样的,UNICODE还有什么用呢?这不是越来越乱,用UNICODE的一个目的就是不用再本地化了。
Unicode有两套标准,一套叫UCS-2(Unicode-16),用2个字节为字符编码,另一套叫UCS-4(Unicode-32),用4个字节(实际上只用了31位,最高位必须为0)为字符编码。目前常用的UCS-2,它可以表示的字符数为2^16=65535,基本上可以容纳所有的欧美字符和绝大部分的亚洲字符 。 但是很明显,如果要支持所有的亚洲字符,必须用UCS-4
我比较同意你的观点。
按照我的理解,现行的windiws2000或者 windows xp系统,所谓采用的Unicode编码,其实,指的是采用了 UCS-2的格式来编码的,所以看到的windows编程里面关于unicode的资料,都是 w_char 双字节的,(而且字节长度也是固定不变的),如果真的以后要全面推广UCS-4的话,windows现行的一些API函数,可能得做进一步的更新和完善。当然啦,目前来说,用16位的unicode一般来说也够用了,呵呵。以上都是我的个人理解,有不对之处,希望大家批评指正。
http://glyph.iso10646hk.net/chinese/tinfo_3.jsp
http://www.unicode.org/
谢谢你的回答:
首先我想问一下:我的如下观点,哪里错了?1,unicode的本质,想让所有的语言里面的所有字符,都有唯一一个表示码,这个理解应该是正确的吧。
2,我就目前的unicode的程序里面的内容而言,我看了好基本windows编程的书,比如《windows MFC programing》等。里面对于unicode的解释,都是说16位定长度的,这个应该也没有错吧?3,可能现在的unicode版本,需要容纳更多的字符,所以16位显然是不够的,因此,有更多字节表示的unicode方法。请批评指正,谢谢。
恩,赞同!
我相信一般我们windows编程里面都是使用普通的2字节的API就足够了。
而,四字节编码的,需要“特殊API”。