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

相信你在日常生活中也见过类似如下的字符串:上面这些看起来不明所以的内容,通常被称为乱码。那么乱码是怎么产生的,怎么修复呢?接下来,我们将一步步解释这一点。编码规则本质上,字符串是存储在一起的一个字节的数据。要在屏幕上显示这些数据,需要根据编码规则对其进行解...

相信你在日常生活中也见过类似如下的字符串:

上面这些看起来不明所以的内容,通常被称为乱码。那么乱码是怎么产生的,怎么修复呢?接下来,我们将一步步解释这一点。

编码规则

本质上,字符串是存储在一起的一个字节的数据。要在屏幕上显示这些数据,需要根据编码规则对其进行解析。

美国信息交换标准代码

ASCII编码是最容易理解的。ASCII最多只能存储127个字符,因为每个字符只占7位,每个字符都有一个唯一的编号与之对应。

例如:

在这种编码规则下,数字0x35将被解释为字符5。

在这种编码规则下,数字0x6C将被解释为字符l。

在这种编码规则下,数字0x4C将被解释为字符l。

具体规则,可以在网上搜索ASCII码表。

按照这个规则,一串hello,用十六进制数据表示,就是68 65 6C 6C 6F。

GB2312

由于ASCII码只能显示127个字符,远远不能满足汉字的显示要求,我国标准总局于1980年发布了国家标准代码GB 2312(目前最新的标准是GB 18030)。

简单来说,在这个编码标准下,每个汉字可以用2个字节来表示,例如:

的实际数据为0xB0 0xA1。

实测数据为0xB2 0xE2。

测试的实际数据是0xCA 0xD4。

同时,由于ASCII编码下每个字节使用7位(0x 00-0x7f ), GB 2312规定每个汉字的高位字节(第一个字节)应在0xA1-0xF7范围内,避开ASCII编码使用的区域。

也就是说,下面一串中英文混合的数据也可以正常解析显示:

UTF-8

UTF-8可以用1-4个字节来表示字符。由于兼容性强,UTF-8可以对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编码来测试单词解析结果,并得到以下十六进制数据:

如果接收这些数据的人试图使用GB2312代码显示它们,结果将是我们非常熟悉的乱码:

以上过程是典型的乱码形成过程。

修复乱码

乱码还能恢复吗?答案是肯定的,只有在乱码形成的时候做逆向操作才能恢复。但是在某些代码中会出现?如果显示的数据无法解析,这部分数据将完全丢失。

一般的乱码修复操作就是尝试各种编码可能性,看看哪个结果比较靠谱,那么就是原创内容。

这里推荐使用开源工具LLCOM(llcom.papapoi.com)来恢复乱码。

我们使用上一节中生成的乱码数据作为示例来尝试修复它:

可以看出,已经显示了可靠的结果,并且修复是成功的。

避免混淆。

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

如果资源占用紧张,但仍需要中文显示,可以考虑使用GB2312编码存储数据。

本文来自卿尘投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/573038.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-01
下一篇 06-01

相关推荐

  • 浏览器乱码怎么办 浏览器乱码解决方法

    最近有部分使用win10系统的用户在安装字体后,在网页上浏览信息时出现乱码。真的在影响我们使用电脑,那么怎么解决这个问题呢?下面介绍如何解决win10电脑安装字体后网页乱码的问题。解决方案如下:1.按“Win+R”组合键打开运行窗口,输入“gpedit.msc”并按回车键。2.进入本地

    2023-07-28 02:38:01
    157 0
  • win11记事本乱码解决方法

    你可以将txt文件“另存为”,在另存为选择编码的时候换成Unicode或者其他编码试试能不能解决记事本乱码的现象4还有就是不是txt你右键选择打开方式选择了记事本,打不开也很正常比如说你将一个word文档通过记事本的。若不是,你记事本是用什么打开的有一些是要固定的 软件 打开

    2023-07-25 18:33:01
    161 0
  • 电脑出现乱码怎么修复电脑乱码 软件系统乱码的处理方式

    第一种方法:Win7系统出现乱码,应该是语言设置的非Unicode设置有问题导致的。因为中文不是Unicode语言,所以会产生乱码。一般情况下,将非Unicode语言设置为中文就足够了。该方法如下:首先,打开控制面板,在区域和语言设置-管理中,选择更改显示语言。其次,选择管理选项卡,

    2023-07-25 02:43:01
    705 0
  • 乱码文字转换正确的方法是怎样的?(手机文字乱码在线转换)

    01右击这个文件,然后在弹出的右键菜单中选择打开方式,再在弹出的二级菜单中选择写字板打开,因为这个格式是写字板的默认格式,可以完美支持。文档变得乱码有很多原因。例如,有些人为了伪装某些文档,将某些文档的格式更改为其他不正确的格式。当我们打开这个文档时,系统会

    2023-07-20 21:02:01
    692 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信