带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(10)

简介: 带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(10)

带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(9) https://developer.aliyun.com/article/1240878?groupCode=tech_library


10.5.3容错性


通过上面的程序我们知道:解析过程是一个字节一个字节往下处理的,我们在传输过程中如果发生局部的字节错误、丢失,或者中间有一个字节规则对不上,会不会影响整个文本的解析?


我们先来看下其他编码的容错情况:从对于单字节的ASCII码来说,丢失一个字节就丢失一个字符,并不影响后续文本的内容,比如Hello world,丢失b2字节后内容是Hllo world少个e而已。


我们再来看GB2312这种多字节编码:如果丢失了b2字节那么整个文本都乱套了,这是最糟糕的,大部分多字节编码都有类似问题,一旦出现错误可能导致整个文件都需要重传。



接下来我们看看UTF-8是如何避免这种“一颗老鼠屎坏了一锅粥”的情况:UTF-8 的码元序列的第一个字节指明了后面所跟字节的个数,比如首字节高位是0就表示单字节,110表示总共两个字节,1110表示三个字节依次类推,除首字节之外后续字节都是10开头。所以UTF-8的前缀码具有很强的鲁棒性,即使丢失、增加、改变个别字节也不会导致后续字符全部错乱这样的传递性、连锁性的错误问题。


相关文章
|
自然语言处理 C++
探究C/C++编码世界:从字符编码到中文处理之艺(二)
探究C/C++编码世界:从字符编码到中文处理之艺
464 2
|
存储 自然语言处理 程序员
探究C/C++编码世界:从字符编码到中文处理之艺(一)
探究C/C++编码世界:从字符编码到中文处理之艺
314 1
lxml.etree.XPathEvalError: Invalid expression
lxml.etree.XPathEvalError: Invalid expression
165 4
|
机器学习/深度学习 搜索推荐 算法
智能推荐系统:个性化体验的背后
【7月更文第18天】在互联网的汪洋大海中,智能推荐系统就像一位贴心的向导,总能在浩瀚的信息中找到你最感兴趣的那一部分。它在电商平台上让你轻松发现心仪商品,在视频平台上为你连播下一集你欲罢不能的剧集。这背后的秘密,就是那些神奇的智能推荐算法。今天,咱们就来扒一扒电商、视频平台中的智能推荐系统,看看它是如何为你我打造出个性化的数字体验的。
585 0
带你读《全景揭秘字符编码》之六:六、字符编码模型(2)
带你读《全景揭秘字符编码》之六:六、字符编码模型(2)
259 0
|
自然语言处理
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(6)
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(6)
247 0
|
Unix Linux Windows
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(7)
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(7)
231 0
|
存储 数据库 Swift
带你读《全景揭秘字符编码》之六:六、字符编码模型(6)
带你读《全景揭秘字符编码》之六:六、字符编码模型(6)
257 0
|
存储
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(8)
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(8)
262 0
|
编解码 算法 Unix
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(9)
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(9)
210 0