请教Unicode的编码格式

AreYouOK? 03-08-07

Unicode到底是如何编码的?
UTF-8代表什么,如何编码?
java中的char是16位的,只能表示6万多个字符,好像汉字就有几万个吧,它怎么表示世界各国的语言字符?
好像有更多位的编码格式,但是怎么放在char里面,系统如何识别它?

raynix
2003-08-07 09:50

> Unicode到底是如何编码的?

这太复杂了,如果你感兴趣,可以看看
http://www.unicode.org

> UTF-8代表什么,如何编码?

UTF = Unicode transformation format
UTF-8 是www上普遍应用的encoding,因为它采用变长编码,兼容ascii
此外还有UTF-16, UTF-32等等


> java中的char是16位的,只能表示6万多个字符,好像汉字就?> 几万个吧,它怎么表示世界各国的语言字符?

不用操心了,java 支持unicode,unicode支持全部CJK字符,大概7万多,16位是肯定不够的了。

AreYouOK?
2003-08-07 09:54

>不用操心了,java 支持unicode,unicode支持全部CJK字符,大概7万多,16位是肯定不够的了。
可是char只有16位的,String是以char为基础的,在java内部如何表示怎么多字符?

AreYouOK?
2003-08-07 09:56

Java中支持的Unicode是什么版本的呢?

robbin
2003-08-07 10:06

Unicode字符集试图把全球所有的语言文字包含的字符都用统一的编码方式来表示,通常情况下Unicode也是使用双字节,也称为UTF-16,即总共可以表示65536(十进制)个字符,目前已经定义了38,887(十进制)个字符,包括了英语、俄语、阿拉伯语、希腊语、拉丁语、德语、等等语言的字符以及最常用的汉语和日语字符。由于光是汉语就实际上存在80,000(十进制)个字符,因此还不可能包括所有的字符。所以又提出UCS字符集,UCS(Universal Character Set)采用4字节表示字符,因此理论上可以表示2的32次方≈43亿(十进制)个不同的字符,目前Java还不支持UCS字符集。

3Go 1 2 3 下一页