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能编码四个字节汉字

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com