专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

电脑字体乱码怎么解决(文字乱码修复方法)

来源:小易整编  作者:小易  发布时间:2023-03-15 10:00
摘要:相信大家在日常生活中,都见过类似下面的这些类似的字符串:上面这种,看起来不明所以的内容,通常被称作乱码。那么乱码是如何产生的,并且如何修复呢?我们接下来就一步步对此进行解释编码规则字符串,本质上都是一个字节一个字节的数据,连在一起存储的。...

相信大家在日常生活中,都见过类似下面的这些类似的字符串:

电脑字体乱码怎么解决(文字乱码修复方法)

上面这种,看起来不明所以的内容,通常被称作乱码。那么乱码是如何产生的,并且如何修复呢?我们接下来就一步步对此进行解释

编码规则

字符串,本质上都是一个字节一个字节的数据,连在一起存储的。而要将这些数据显示在屏幕上,则需要按一种编码规则进行解析。

ASCII

ASCII编码是最容易理解的。ASCII编码因为每个字符仅占用7bit,所以最多只能存储127个字符,而每个字符都有唯一的一个数字与其对应。

例如:

数字0x35在这种编码规则下,会被解析为字符5

数字0x6C在这种编码规则下,会被解析为字符l

数字0x4C在这种编码规则下,会被解析为字符L

具体对应规则,可以在网上搜索ASCII 码表查看

按照这种规则,一串hello,用16进制数据表示就是68 65 6C 6C 6F

GB2312

因为ASCII只能显示127个字符,远远不能满足中文字符的显示需求,所以中国国家标准总局于1980年发布了国家标准代码 GB 2312 标准(目前最新标准为 GB 18030)

简单来说,在这套编码规范下,每个中文字符可以由2个字节表示,例如:

啊的实际数据为0xB0 0xA1

测的实际数据为0xB2 0xE2

试的实际数据为0xCA 0xD4

同时,因为ASCII编码下每字节使用了7bit(0x00-0x7f)GB2312为了对其进行兼容,规定每个中文字符的高位字节(第一个字节)使用0xA1–0xF7的范围,避开了ASCII编码使用的区域。

也就是说,想下面的一串混用了中英文的数据,也可以正常被解析并显示出来:

UTF-8

UTF-8可以使用1-4字节来表示字符,因为其兼容性强,可以对Unicode字符集中的所有有效编码点进行编码,是目前使用最广泛的编码标准。

与GB2312一样,UTF-8同样兼容ASCII编码。只是UTF-8比GB2312包含了更多字符,并且每种字符的字节数并不是完全固定的。由于编码规则比较复杂,这里不作具体解释,只会举例说明:

啊的实际数据为0xE5 0x95 0x8A

测的实际数据为0xE6 0xB5 0x8B

试的实际数据为0xE8 0xAF 0x95

其他编码

除了GB2312、UTF-8和ASCII编码,还有许多编码标准,他们大部分互不兼容。

存储和传输字符串数据

数据都是要进行存储和传输的

存储

微软使用BOM 头这种技术来为纯文本文件标记其编码,这样打开文件时就可以用正确的编码进行解析。

而大部分Linux不使用类似技术,所以读取后只能靠猜测,或强行指定,来进行显示。

传输

传输不仅指字符串数据在互联网上的传输,也包括了在各类函数调用过程中的传输。这类操作通常都不会带有字符编码标准的标记,一般靠直接指定编码来解决。

产生乱码

聪明的你应该已经想到了,如果一串某编码的数据,被人使用另一种编码标准进行解析,那么得出的结果几乎一定是错误的。

比如测试解析结果这几个字,我们使用UTF-8编码,得到下面16进制数据:

如果,收到这些数据的人尝试使用GB2312编码来显示,那么结果就是我们非常熟悉的乱码了:

上面的过程就是典型的乱码形成过程

修复乱码

乱码是否可以还原?答案是肯定的,只需要按乱码形成时的操作反过来做一遍就可以恢复了。但是有些编码中会出现?这种无法解析显示的数据,这部分数据就完全丢失了。

一般的乱码修复操作,就是把各种编码可能性都试一遍,看哪个结果可靠,那么就是原始内容。

这里推荐使用开源的工具 llcom (llcom.papapoi),来进行乱码恢复工作

我们用上一节生成的乱码数据作为例子,尝试修复:

可以看到可靠的结果已经显示出来,修复成功

避免乱码

建议在写代码时统一使用UTF-8编码,这是目前互联网的最主要的编码形式

如果是资源占用紧张,但依旧需要中文显示的地方,可以考虑使用GB2312编码存储数据


本文地址:百科常识频道 https://www.neebe.cn/changshi/926279.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科常识
小编:小易整编
相关文章相关阅读
  • “水”字旁常用字,快速记忆方法(提高汉字识别能力)

    “水”字旁常用字,快速记忆方法(提高汉字识别能力)

    “水”字旁常用字,快速记忆方法(提高汉字识别能力)汉字是中国文化的重要组成部分,对于中文学习者而言,汉字的认识和记忆是非常重要的。其中“水”字是汉字中的一个旁常用字。在学习这个字时,我们可以采用一些快速记忆方法,提高汉字识别能力。首先,我们...

  • 考试紧张怎么办,有效缓解压力(化解心理疲劳)

    考试紧张怎么办,有效缓解压力(化解心理疲劳)

    考试紧张怎么办,有效缓解压力(化解心理疲劳)考试紧张是很常见的现象,它可以在一定程度上刺激人的神经系统,但过度的紧张会产生负面影响,影响正常考试发挥。所以,我们需要有效地缓解考试压力,从而化解心理疲劳。以下是几个有用的方法:1.认识到自己的...

  • 半亩花田(半亩花田素颜霜怎么样)

    半亩花田(半亩花田素颜霜怎么样)

    一条龙2023-05-01品牌3今天给各位分享半亩花田的知识,其中也会对半亩花田素颜霜怎么样进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!半亩花田护肤品排行榜半亩花田护肤品排行榜如下:1、半亩花...

  • 奖金单独计税还是并入综合所得(奖金单独计税还是并入综合所得怎么操作)

    奖金单独计税还是并入综合所得(奖金单独计税还是并入综合所得怎么操作)

    一条龙2023-05-01财经4今天给各位分享奖金单独计税还是并入综合所得的知识,其中也会对奖金单独计税还是并入综合所得怎么操作进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!个人所得税奖金单独计...

  • qqid身份卡怎么设置(id身份卡如何修改)

    qqid身份卡怎么设置(id身份卡如何修改)

    喜得利2023-05-01经验11今天给各位分享qqid身份卡怎么设置的知识,其中也会对id身份卡如何修改进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!qqid过了90天为什么改不了qqid过帆...

  • 凉面的制作方法与步骤(凉面制做方法)

    凉面的制作方法与步骤(凉面制做方法)

    一条龙2023-05-01美食3本篇文章给大家谈谈凉面的制作方法与步骤,以及凉面制做方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。凉面的做法及调料配方怎么做?凉面做法及配方如下:材料:碱面500ml、香葱一...

  • 赛尔号电容球怎么得(赛尔号电容球怎么获得)

    赛尔号电容球怎么得(赛尔号电容球怎么获得)

    解密热身2023-05-01游戏5今天给各位分享赛尔号电容球怎么得的知识,其中也会对赛尔号电容球怎么获得进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!赛尔号里怎么快速获得电容球?1、带上你的NO...

  • 怀孕女子还有2个月生产仍送外卖(怀孕女子还有2个月生产仍送外卖怎么办)

    怀孕女子还有2个月生产仍送外卖(怀孕女子还有2个月生产仍送外卖怎么办)

    魅妞服饰2023-05-01财经3本篇文章给大家谈谈怀孕女子还有2个月生产仍送外卖,以及怀孕女子还有2个月生产仍送外卖怎么办对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。女骑手怀孕6个月仍在送外卖,站长:她闲不...

  • 周排行
  • 月排行
  • 年排行

精彩推荐