unicode和ucs的区别

本文探讨了Unicode和UCS之间的区别,指出虽然UCS-4理论上可编码至U+7FFFFFFF,但由于共识,实际使用限制在17个平面内,使得UTF-32成为其子集。同时,由于UTF-16的定长特性,它在实现和编码上与UCS-4相似。随着Unicode的普及和UTF-8的广泛采用,UCS编码逐渐淡出视野,常被等同于UTF-16和UTF-32,尤其是在Windows NT中采用UCS-2。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     unicode,中文叫万国码,统一码,是统一码联盟为了世界上大多数文字系统进行整理和编码。
 
     unicode2.0后基本和ISO 10646规范保持一致. 
     和unicode类似,iso组织也在做同样的事情,iso开展了 ISO/IEC 10646项目,名字叫“ Universal Multiple-Octet Coded Character Set”,简称UCS。
     后来,双方意识到时间上不需要2套通用的字符集,所以双方开始进行整合,到unicode2.0时,unicode的编码和ucs的编码都基本一致。


     unicode在编码上和UCS保持一致,在实现上有自己的规则,而UCS只定义了编码标准。unicode的实现形式上 有UTF-8,UTF-16,UTF-32,还有UTF-7等。UCS编码也有自己的格式:UCS-2和UCS-4等等。可参考各自wiki: unicodeucs
     unicode的编码可以和UCS-2和UCS-4保持一致。但是又略有不同。UTF-16是UCS-2的扩展,UTF-32是UCS-4的子集。也就是说,UTF-16的实现上对code point的支持范围超过UCS-2,而UTF-32对code point的表示却又在UCS-4的范围之内。


     在编码层面上,UCS-2就是用两个字节编码,UCS-4就是用4个字节(实际上只用了31位,最高位必须为0)编码。
     UCS-2有2^16
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值