Mojibake / 编码修复器

将 Café 或 don’t 这类乱码(mojibake)文本修复回 Café 和 don’t,就在你的浏览器中。

你的文本在浏览器本地完成修复,绝不会上传,但请避免将敏感的个人数据粘贴到任何在线工具中。

需要转义 HTML 特殊字符?试试 HTML 实体工具。

关于 Mojibake 修复器

这款 mojibake 修复器能修复由编码不匹配造成的乱码文本 —— 就是那种把「Café」变成「Café」、把「don't」变成「don’t」、把「😀」变成「😀」的情况。常见的元凶是 UTF-8 字节被错误地按 Windows-1252 或 Latin-1 解码,于是重音字母、弯引号、破折号和表情符号都变成了垃圾字符。修复器会反转这一过程:它将每个乱码字符映射回其原始字节,再将结果按 UTF-8 重新解码。由于不止一种不匹配可能,它会提供多种解读(UTF-8 ↔ Windows-1252、UTF-8 ↔ Latin-1,以及一次双重解码处理)并高亮最干净的那一种,同时允许你另选其他。在左侧粘贴文本,在右侧读取修复结果。一切都在你的浏览器中运行,因此你粘贴的文本留在你的设备上。

功能特性

如何使用 Mojibake 修复器

  1. 将乱码文本粘贴到左侧的输入框中。
  2. 在右侧的「Fixed」输出面板中读取最佳修复。
  3. 浏览「Interpretations」列表,如果某个候选读起来更干净,就选它。
  4. 点击「复制」以获取修复后的文本。

示例

输入

Café — don’t panic

输出

Café — don’t panic

被错误地按 Windows-1252 解码的 UTF-8 文本,已修复回干净的字符。

常见错误与故障排除

常见问题

是什么导致了 mojibake?
mojibake 发生在以一种字符编码保存的文本被以另一种编码读取时。经典情形是 UTF-8 字节被按 Windows-1252 或 Latin-1 解码,于是像重音、弯引号和表情符号这样的多字节字符分裂成了几个错误的单字节字形。
为什么 Café 会显示为 Café?
在 UTF-8 中,é 是两个字节 (0xC3 0xA9)。当这些字节被按 Windows-1252 读取时,0xC3 变成 Ã,0xA9 变成 ©,于是「Café」就变成了「Café」。修复器会将这些字符映射回字节,并按 UTF-8 解码,从而恢复出 é。
为什么撇号会变成 ’?
弯撇号(’,U+2019)是三个 UTF-8 字节。被按 Windows-1252 解码后它们变成 â、€ 和 ™,这就是为什么「don't」会显示为「don’t」。把这三个字符重新按 UTF-8 解码,就能重建出原始的 ’。
Windows-1252 修复和 Latin-1 修复有什么区别?
Windows-1252 和 Latin-1(ISO-8859-1)几乎完全相同,但在 0x80–0x9F 范围内有所不同,那里 Windows-1252 容纳了弯引号、破折号和欧元符号。请先试 Windows-1252 修复;如果某个标点或符号字符仍然错误,再切换到 Latin-1。
mojibake 总能被修复吗?
常常可以,但并非总是如此。如果在你复制文本之前,原始字节就已被一个通用的占位符(即 � 替换字符)替换,那么信息就已丢失,任何修复器都无法恢复。只有在乱码但可逆的字节仍然完好时,修复才有效。
我粘贴的文本会被上传到任何地方吗?
不会。mojibake 修复完全在你的浏览器中运行,因此你粘贴的文本在你的设备上本地处理,不会发送到服务器。

相关工具

全部 ArrayKit 工具