关于文字编码那些事

为什么会有这么多种编码方式?
为什么会有乱码?
英文怎么没有乱码?
unicode和UTF-8是一回事儿吗?
如何判断一段文字是使用哪种编码方式?
还有两个base64和url encode, 这是什么鬼东西?


显示中的文字
我们为什么能在显示屏上看到文字?一定要有一个应用程序通过某个组件,将文字显示出来。应用程序可以是浏览器, 系统程序, 普通应用程序。通过给组件设定某个属性,如text属性。 要想显示某个字,除了知道这个字的编码,还要确定使用哪种字体。字体文件中通常包含一个编码和样式的对照表,对照表中使用的编码可能是Unicode,也可能是不存在的。

字符串转换–>猜测编码–> 选择Font --> 显示

根据上面的过程, 出现乱码,基本就有两种原因

  1. 转换过程中出错
  2. 编码猜错了(或者没有猜测,仅支持一种文字编码)
  3. 选择的Font不包括要显示的文字

关于文字编码那些事_第1张图片
Excel VBA 编辑器
关于文字编码那些事_第2张图片
上面的乱码是哪种错误呢?
关于文字编码那些事_第3张图片
上面这种乱码就是字体中文字不全造成的。

Unicode和UTF-8的转换关系

关于文字编码那些事_第4张图片

例子:
https://www.compart.com/en/unicode/U+8A9E

传输中的文字

发送和接收方必须明确知道编码方式,不能使用猜的方法。 否则很容易出现乱码。

字符和字符串

你可能感兴趣的:(Blog)