Unicode代理对(utf-16)

我们都知道Unicode的大部分字符都是都是使用16位编码,即2个字节表示。

这也是为什么正则匹配中,Unicode使用“\uxxxx”进行匹配的原因

为什么说是大部分呢?因为还有一个神奇的区域,叫做Unicode代理对。它们需要使用4个字节来表示一个字符。

这里就给大家做介绍。


问题来源

Unicode的产生是为了处理不同语言之间的编码不兼容问题。

比如如果中文和日文的不同文字使用了同一个编码值进行表示,那么一篇中文的软件/操作系统中创作的文章,到了日文软件/操作系统中显示就会出现乱码。

Unicode期望规定一种通用的文字编码方式能够唯一的表示所有的文字字符。这样只要所在的软件/操作系统支持Unicode,任何文章都能在这些电脑上保持一致的字符显示。

显然,为了支持任意的文字,Unicode需要保证其编码范围要大于所有的文字字符数量。

那么,Unicode使用16位编码能够最多表示 2 16 = 65536 {2^{16}=65536} 216=65536,这对于当前常见的主要语言的字符,数学符号等已经基本够用。

但是值得注意的是,世界上还有很多小语种&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值