utf-8与unicode的区别

本文深入探讨了Unicode字符集与UTF-8编码方式之间的关系,解释了Unicode为何不使用固定两个字节表示所有文字,并阐述了UTF-8编码的优势,包括纠错能力及在网络传输中的应用。

1.Unicode是一种字符集,而utf-8是一种编码方式。Unicode字符集既可以用utf-8编码方式编成计算机能够识别的二进制数值,也可以用utf-16,utf-32等方式编码。

2.Unicode并不是用两个字节表示世界上所有的文字,实际上世界上所有的文字分为17个平面,每个平面都有65536个,也就是需要两个字节来存储的字符数,所以单纯的两个字节不足以来表示世界上所有的文字。

3.utf-8编码方式编出来的结果中第一个字节中连续的1表示这个字符占多少个字节,按照百度百科中的介绍,把Unicode字符集中的字符编码换算成2进制,再填入百科中那些XXXXX的地方,就变成了utf-8的编码结果。

4.为什么不用固定的两个字节去编码Unicode字符集中的字符,见2

5.因为utf-8中没有全为0的字符(至少要有1个连续的1,来表示这个字符占多少个字节,见3),所以文本不会在第一个null字符时截断。而且由于utf-8中有一些固定的,有意义的(比如第一个字节中连续的1)二进制位,所以utf-8编码结果适合用于在网络中传输,因为他可以利用这些二进制位来纠错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值