- 2
- 0
- 约4.8千字
- 约 5页
- 2023-08-06 发布于上海
- 举报
unicode,utf8,utf16 编码详解
什么是编码
1,这个世界上从来没有纯文本这回事,如果你想读出一个字符串,你必须知道它的编码。如果你不知道一段数据流的编码方式,你就永远不会知道这里面的内容。
2,Unicode 是一个简单的标准,用来把字符映射到数字上。Unicode 协会的人会帮你处理所有幕后的问题,包括为新字符指定编码。我们用的所有字符都在unicode 里面有对应的映射,每个映射称为一个码点
3,Unicode 并不告诉你字符是怎么编码成字节的。这是被编码方案决定的,通过UTF 来指定。
读完前面这篇文章之后你也许就了解了一个二进制流到屏幕字符的过程:
二进制流-根据编码方式解码出码点-根据 unicode 码点解释出字符-系统渲染绘出这个字符
文本字符保存到计算机上的过程:
输入字符-根据字符找到对应码点-根据编码方式把码点编码成二进制流 -保存二进制流到硬盘上
从这个过程我们可以知道能不能从二进制流读取出字符关键就在于能不能找到二进制流的编码,掌握了编码方式的信息就可以用对应的逆过程解码。
看到这里有读者一定会问:为什么要编码,根据二进制流计算码点不好吗?
原因是良好设计的编码可以为我们提供很多附加的功能,包括容错纠错(在网络通信中尤其重要),自同步(不必从文本头部开始就可以解码)等等。编码从信息论的角度上来说就是增加了冗余的信息,冗余的这部分信息就可以为我
原创力文档

文档评论(0)