【发布时间】:2012-05-28 11:05:25
【问题描述】:
我在 Windows 上使用 notepad++ 以 UTF-8 和 ASCII 格式保存了一个文本文件。该文本与 UNIX 版本具有相同的字母表示,但通过 diff 声称完全不同(例如 1,267c1,267)。这些文件在二进制级别上实际上是不同的(xxd -b test.txt),但是 vimdiff 的结果与 vim 不同:它表明它们是相同的。我猜是因为 vimdiff 在对文件进行 diff 之前渲染文本?为什么会出现这种不一致?
【问题讨论】:
-
这种差异就是我学到的所谓“按照规范工作”。我希望保存为 UTF-8 和 ASCII 的文件会产生差异。 UTF-8 字符是 2 个字节宽,而 ASCII 字符是 1 个字节吗?可能有一个 perl、php 或 python 模块可以处理这个问题,但我没有任何经验可以分享。对不起,祝你好运。
标签: windows unix character-encoding diff notepad++