You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

记事本显示TXT文件异常Unicode字符问题求助

记事本显示异常的原因解析

核心问题:UTF-16LE编码缺失BOM

Windows记事本对文本文件编码的识别高度依赖字节顺序标记(BOM):

  • 你的文件实际是UTF-16LE编码,但没有添加BOM头。记事本会默认把无BOM的双字节文件当作系统默认ANSI编码(如GBK)解析,将UTF-16的双字节字符拆成单个ANSI字符,导致显示出异常Unicode符号。
  • WSL的cat命令不依赖BOM,它直接按字节流读取,且WSL终端默认字符编码多为UTF-8,能正确解析UTF-16LE格式的内容,所以显示正常。

为何另存为UTF-8/ANSI会自动转回UTF-16?

记事本的“另存为”功能会自动检测文件的编码特征:

  • 当它识别到文件是双字节编码模式(UTF-16的典型特征),会强制按UTF-16编码重新保存,直接覆盖你选择的UTF-8或ANSI选项,导致编码无法更改。

十六进制转储对应特征验证

如果你的文件十六进制内容是类似以下格式(以p225为例):

70 00 32 00 32 00 35 00
这就是UTF-16LE编码的典型表现:每个ASCII字符对应两个字节(高位补0)。记事本把70 00拆成p(ANSI的0x70)和一个不可见控制字符(0x00),所以显示异常;而WSL终端会将其作为UTF-16LE的p解析,显示正常。

快速解决办法

  • 用VS Code等第三方编辑器打开,手动指定编码为UTF-16LE,再重新保存为带BOM的UTF-16或直接转存为UTF-8。
  • 在WSL中执行编码转换命令:iconv -f UTF-16LE -t UTF-8 voice_list.txt > voice_list_utf8.txt,转换后记事本即可正常打开。

内容的提问来源于stack exchange,提问作者Chetan Sharma0402

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 21:45:08