对乱码问题本源的探索

2017-05-29  本文已影响0人  秋灯锁忆

关键词:


问题来源

我们经常会遇到中文乱码问题,也时常要绞尽脑汁去解决它。那么,当我们把不同的字符输入到电脑后,电脑程序到底怎么来理解它呢?电脑又是怎样进行的‘’字符的翻译‘’,乱码问题到底出现在哪?为了解释这些问题,我们引入几个例子来帮助理解。


示例一:用户输入的人机理解过程


示例二:查找不认识的单词的过程

从上面过程我们可以看出,乱码出现在已接收字符进行交换码与内部码转化的过程中,那我们想想英语小白在实际生活中遇到一个不认识的单词会怎么办呢?

我们归纳上面的例子可以理解实际转码的要点,即:


示例三:字符编码存在的意义

通过三要点归纳,大家有可能会发现,字库表对应着字符的值,编码字符集对应着表中的的位置,这种键-值形式已经能满足电脑查询的功能了,那么字符编码存在的意义在哪呢?这其实很好理解,如果我们想要用一本字典查询所有我们不知道的字符,这就要求我们的字典必须包含的范围足够大,内容足够多。可是对于我们上文提到的新单词问题而言,我仅仅需要解决一个很小的麻烦,仅仅需要一本中英双语词典就能搞定了。对于计算机和程序的使用也是类似,我只需要存储我需要且常用的字典,而不需要将偌大的字典存进来消耗我的内存和查询时间。而字符编码就解决词典切分和其他规则定义的需求。


常用的字符集与字符编码

通过上面的举例,相信大家对两者一有了明确的认识,那我就列举出常见的字符表与字符编码。


乱码出现的原因

用了不相对应的编码与解码方式,导致对同一字符进行不同的翻译解释。所以,在实际操作过程中,尽量先弄明白输入与输出的编码方式,同时检查你编码文件的默认打开编码方式,这样能一定程度上帮你解决乱码问题。


上一篇 下一篇

猜你喜欢

热点阅读