文本文件编码转换器

当文本把 café 显示成 café、把 naïve 显示成 naïve 时,字符本身没问题,是编码被读错了。粘贴文本,告诉转换器该用哪种编码读取、用哪种编码写出,它就会在 UTF-8、UTF-16、ISO-8859-1(Latin-1)、Windows-1252 等常见代码页之间干净地重新编码。把修正后的结果直接复制到你的编辑器、电子表格或数据库中。

如何转换文本编码

  1. 1

    粘贴你的文本

    任何看起来是乱码、或需要为另一个程序重新编码的文本。

  2. 2

    查看检测结果

    输入框上方会给出可能编码的大致提示。

  3. 3

    选择源编码

    按字节应被读取的方式设置「源」:UTF-8、Windows-1252、ISO-8859-1、SJIS 等。

  4. 4

    选择目标编码

    UTF-8 是现代的默认选择;当某个特定程序需要时,也可选 UTF-16、Big5 或 GB2312。

  5. 5

    转换并复制

    文本会被重新编码,一键即可把结果复制到剪贴板。

编码不匹配从何而来

来源 可能的编码
Windows 上 Excel「另存为 CSV」 Windows-1252
旧的 Windows 应用 Windows-1252
旧的 Unix 工具 ISO-8859-1 (Latin-1)
现代 macOS/Linux 编辑器 UTF-8
Windows 上的日文文本 Shift-JIS (SJIS)
Windows 上的简体中文 GB2312
繁体中文(台湾/香港) Big5

典型症状

  • 当 UTF-8 字节被当作 Latin-1 读取时,café 会显示为 café。把「源」设为 UTF-8,即可重新正确解读这些字节。
  • 出于同样的原因,ñ 会变成 ñ。
  • 像 café 这样的双重乱码,意味着文本在第一次误读之后又被保存了一次,把错误的解读再次编码。
  • 开头的  是被当作三个 Latin-1 字符读取的 UTF-8 字节顺序标记。

一旦认出症状,路径通常就很清晰:按文本真实的样子读取(Latin-1、Windows-1252 或适用的编码),再以 UTF-8 写回。

字节顺序标记(BOM)

本转换器不会主动添加或去除字节顺序标记:其行为取决于目标编码。UTF-8 输出不带 BOM。普通的 UTF-16 输出以 BOM 开头且为大端序,而 UTF-16BE 和 UTF-16LE 则不带 BOM 写出字节。除非某个特定程序要求 UTF-16,否则请选择 UTF-8。

当某个字符没有对应表示

有些字节在你所选的源编码中没有意义,有些字符在目标编码中无法表示。发生这种情况时,转换会用一个替代标记代替,而不是中止。最重要的是选对源编码:仅含 ASCII 的字符串在任何编码中都有效,因此不匹配通常只有在出现带重音或非拉丁字符时才会显现。

常见问题

「源」和「目标」列表都提供 UTF-8、UTF-16、UTF-16BE、UTF-16LE、ISO-8859-1、ISO-8859-15、Windows-1252、ASCII、EUC-JP、SJIS(Shift-JIS)、GB2312 和 Big5。你可以从其中任意一种转换到任意另一种。

对于网页、数据库以及几乎所有现代流程来说,是的。例外是只读取 Windows-1252 的旧 Windows 应用、一些较老的大型机工具,以及某些期望 Shift-JIS 的日文软件。

这是基于字节模式的大致猜测,从 UTF-8、UTF-16、ISO-8859-1、Windows-1252 和 ASCII 中选出。对于很短或仅含 ASCII 的文本可能出错,所以请把它当作提示,在你更清楚时自行设置「源」编码。

文本会发送到我们的服务器以执行转换,并在返回响应后不予保存。对于机密内容,建议使用自带编码转换功能的离线编辑器。

相关工具

此工具还提供其他语言版本