unicode和utf-8之间的关系

本文解释了Unicode作为字符的抽象表示与UTF-8作为具体编码方式之间的关系。通过类比,介绍了Unicode如何定义字符编码标准,而UTF-8则是为了高效存储而设计的一种变长字符编码。

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

    unicode与utf-8之间的关系类似于中文和行书、楷书之间的关系。

    unicode规定了编码的样式。用两个字节和代表一个字符。但是呢,在存储的时候,并不会一个字符就占据两个字节的大小长度。因为这样做会大大浪费磁盘的中间大小。比如,前8位都是0的。如果存8个0就太浪费了。类似UTF-8这种只是对unicode的一种存储方式。当然也可以完全按unicode来存储。只是浪费了一点。

    可以这样理解。字符串是由字符构成,字符在计算机硬件中通过二进制形式存储,这种二进制形式就是编码。如果直接使用 “字符串↔️字符↔️二进制表示(编码)” ,会增加不同类型编码之间转换的复杂性。所以引入了一个抽象层,“字符串↔️字符↔️与存储无关的表示↔️二进制表示(编码)” ,这样,可以用一种与存储无关的形式表示字符,不同的编码之间转换时可以先转换到这个抽象层,然后再转换为其他编码形式。在这里,unicode 就是 “与存储无关的表示”,utf—8 就是 “二进制表示”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值