调试接口时收到一串 %E4%BD%A0%E5%A5%BD,翻邮件源码又见 =E4=BD=A0,网页里还冒出一堆 你——看着是三种乱码,其实是同一种病:字符被编了码。站点的编码转换工具攒到 22 件,散在各处不好找,这篇按四组理一遍,下次遇到天书直接对号入座。

Web 三件套:网页和 URL 的乱码

网页上看到 <div>,交给🔧 HTML解码 还原成真实字符;反过来要把用户输入安全地嵌进页面,先过一遍🔧 HTML编码 ,尖括号和引号统统变实体,注入风险也一并挡掉。地址栏里那串百分号乱码用🔧 URL解码 一解,中文参数立刻现形。想把整段配置塞进链接分享,🔧 JSON URL编码 会压缩转义后放进 query 参数,贴在哪都不断行。

代码转义:写进字符串之前先逃一遍

把文本拼进 JS 字符串字面量,🔧 JS字符串转义 自动给换行和引号补上反斜杠。手写 SQL 拼查询,🔧 SQL转义 先把单引号安顿好,语句不至于被一个 O’Brien 截断。用户输入要进正则,先让🔧 正则转义 把元字符降级,再拼进 pattern 不怕爆炸。类名带中文或特殊符号时,🔧 CSS转义 转成合法选择器;参数要传给 shell,🔧 Bash命令转义 替空格和引号站岗。写 RSS 或 XML 配置,🔧 XML转义 把尖括号和 & 变成安全实体,文档结构不塌。

Base 家族:从 64 排到 85

接口返回、data URI、邮件附件里最常见的乱码串,贴进🔧 Base64解码 就出原文。需要口头转述、大小写不敏感的凭证串,🔧 Base32编码 更抗抄错。区块链地址和短标识偏爱🔧 Base58编码 ,去掉了易混淆的 0、O、I、l;短链服务压 ID 常用🔧 Base62编码 ,大数字秒变六位短串。追求更省空间可以试试🔧 Base85编码转换 ,PDF 内嵌数据用的就是它。邮件标题里的 =?UTF-8?B?...?= 归🔧 MIME 编码工具 管;翻老论坛和新闻组的旧资料,附件编码还得请出🔧 UUEncode 编码工具 。

字符与古典:从 0101 到点划线

想弄明白字符的底层表示,🔧 二进制转换 让文本和 0101 互转,敲门砖一块。对不上字符时翻🔧 ASCII码表 ,控制字符一目了然。中文域名背后那串 xn-- 开头的码,🔧 Punycode编码转换 负责互转。电报时代的字母表也没失传,🔧 摩尔斯电码工具 让文本和点划互译,SOS 随时能拍。邮件正文里成片的 =E4=BD=A0,交给🔧 Quoted-Printable编码 处理就恢复可读。

22 件工具全部在浏览器本地运行,数据不出门。编码转换常常只是处理文件的一环——转完之后还要压缩、加密、去重,可以接着逛文件处理流水线专题,把整条链路一次配齐。