unicode是两个字节,2^16=65536,为什么能编码所以汉字呢?
发布网友
发布时间:2022-04-23 15:06
我来回答
共2个回答
热心网友
时间:2023-10-05 09:13
之所以能编码全世界的语言是因为unicode码没有把所有语言的全部组成部分收入编码,对于一些语言,如汉字,只是收录了一步分常用的汉字罢了。或许汉字真的有6万多,但是,因为常用的汉字没有6万多,貌似只有几千个,以前有做过统计(貌似是从报纸上一个一个算,大概算了2万多个汉字),大概5000个常用的汉字就占了所有汉字的使用量的90%(具体是多少我也不清楚了)。
况且,我国本身的GB码(国标码)都没有把全部汉字收录,更何况unicode码。
其实书上说的话多少有些夸张了,顶多是基本上把全部语言收录了,只要不误解就行了。。。
话说,语言是不断变化的,2个字节也迟早不够用的了。
热心网友
时间:2023-10-05 09:14
unicode16是两个字节,可以用代理对来映射四字节空间,UTF-16
中采用的这种设计方法分配
1,024
值给
16
位高代理(high
surrogate),将另外的
1,024
值分配给
16
位低代理(low
surrogate)。它使用一个高代理加上一个低代理
—
一个代理对(surrogate
pair)
—
来表示
65,536
(0x10000)
和
1,114,111
(0x10FFFF)
之间的
1,048,576
(0x100000)
值(1,024
和
1,024
的乘积)。
unicode32能编码四个字节汉字