Unicode、UTF-8、UTF-16、UTF-32

本文介绍了Unicode字符标准,它为全球各种文字分配唯一的编码。接着详细讲解了UTF-32、UTF-8和UTF-16三种Unicode转换格式,阐述了它们如何存储和表示字符,特别是UTF-8的变长字节表示法以及UTF-16对于超过65535编码的处理方式。

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

一、Unicode

Unicode是一个包含大多数国家文字的字符标准,给每一个字符编号,形成一个庞大的字符集。Unicode编码使用U+加上至少四位十六进制数表示。例如“友”这个字符的编码是U+53CB。

二、UTF(Unicode Ttansformation Format)

Unicode通常使用1-4个字节来表示字符。UTF是告诉计算机如何存储读取字符的一种格式。

1、UTF-32

UTF-32每个字符会读取4个字节,然后按标准转为字符。

2、UTF-8

UTF-8编码的每个字节要用字节开头的几位(bit)告诉计算机一些信息。

BinaryComment
0xxxxxxx单字节字符
110xxxxx双字节字符的首字节
1110xxxx三字节字符的首字节
11110xxx四字节字符的首字节
10xxxxxx多字节字符的后续字节

 

 

3、UTF-16

i、U+0000-U+FFFF

使用两个字节直接表示

ii、U+10000-U+10FFFF

a.将Unicode编码减去0x10000,得到的编码区间是0x00000-0xFFFFF(20位二进制数)。

b.将得到的编码分为两部分,每一部分为10位二进制数。

c.在高位的10bit前补上6位的标识110110。

d.在低位的10bit前补上6位的标识110111。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值