手持两把锟斤拷,口中疾呼烫烫烫

这篇文章我们来说说乱码的由来。相信大家基本都遇到过,其中最常见的乱码就是 “锟斤拷” 了 (锟读作 kūn):

Excel 乱码截图

乱码怎么产生的

乱码,一般是在编码的转换过程中产生。例如 Unicode 是不兼容其他地域性字符编码的,当有些 Unicode 中的字符,用作 GB 类编码去解析的时候,就会产生乱码。

在 Unicods 字符集有一个特殊的替换符号,专门用于表示无法识别或展示的字符,就是一个菱形中间一个问号:�

该符号的 UTF-8 的编码为 EF BF BD。更多请参考:� - 替换字符: U+FFFD - Unicode 字符百科

有些编辑器,会在遇到无法识别的字符时,自动将其替换为该符号 �,向用户表明这是无法识别的字符;

当有两个该符号的时候,例如 ��,那么其编码就为 EF BF BD EF BF BD

而如果用 GBK 的格式去解析 EF BF BD EF BF BD 的时候,由于 GBK 是 2 个字节表示一个汉字,因此会解析成:

  • EF BF:锟
  • BD EF:斤
  • BF BD :拷

这就是锟斤拷的由来了。

实践

先创建一个 txt,其编码方式改为 UTF8,并输入 ��,然后用 GBK 的格式打开,就能看到了:本例通过 VSCode 演示,其他编辑器同理

posted @   peterjxl  阅读(304)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示