代码点和代码单元的关系

代码点和代码单元的关系

要了解 Crystal Reports for Visual Studio 2005 支持 GB18030 和 Unicode 的方式,很重要的是要了解代码点和代码单元的关系。

代码点和代码单元

在每种编码形式中,代码点被映射到一个或多个代码单元。

注意   有关代码点的概述,请参见上一节 字符视图

“代码单元”是各个编码形式中的单个单元。代码单元的大小等效于特定编码的位数测量单位:

  • UTF-8 中的代码单元由 8 位组成。
  • UTF-16 中的代码单元由 16 位组成。
  • UTF-32 中的代码单元由 32 位组成。
  • GB18030 中的代码单元由 8 位组成。

每个代码点中的代码单元数

映射到代码点所需的代码单元数根据编码形式而有所不同:

  • UTF-8

    在 UTF-8 中,因为代码单元较小的缘故,每个代码点常常被映射到多个代码单元。代码点将被映射到一个、两个、三个或四个代码单元。

  • UTF-16

    UTF-16 的代码单元大小是 8 位代码单元的两倍。所以,标量值小于 U+10000 的代码点被编码到单个代码单元中。

    对于标量值大于或等于 U+10000 的代码点,每个代码点需要两个代码单元。在 UTF-16 中,这些代码单元对有一个独特的术语:“Unicode 代理对”。

    注意   下面对 Unicode 代理对的支持进行了讨论。
  • UTF-32

    UTF-32 中使用的 32 位代码单元足够大,每个代码点都可编码为单个代码单元。

  • GB18030

    在 GB18030 中,因为代码单元较小的缘故,每个代码点常常被映射到多个代码单元。代码点将被映射到一个、两个或四个代码单元。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值