GNU diff似乎不够聪明,无法检测和处理UTF-16文件,这让我感到惊讶。我是否缺少明显的命令行选项?有没有好的选择?
最佳答案
从GNU diff文档中:
处理多字节和可变宽度
性格
diff,diff3和sdiff处理每行
输入为单字节字符串
字符。这可能会处理不当
在某些情况下为多字节字符。
例如,当要求忽略时
空格,差异未正确忽略
多字节空格字符。
此外,diff目前假设每个
字节是一列宽,这个
某些假设是不正确的
语言环境,例如使用UTF-8的语言环境
编码。这会导致问题
-y或--side-by-side选项
差异
这些问题需要解决
不会过度影响
公用事业的表现
单字节环境。
IBM GNU / Linux技术中心
国际化团队已经提出
一些补丁支持
国际化差异
http://oss.software.ibm.com/developer/opensource/linux/patches/i18n/diffutils-2.7.2-i18n-0.1.patch.gz。
不幸的是,这些补丁是
不完整,且版本较旧
diff,所以需要做更多的工作
在这方面。
我从来没有意识到自己。
如果非自由,非命令行工具可以完成任务,但仍在寻找免费的命令行工具,看来Guiffy可以胜任这项工作:
http://www.guiffy.com/Diff-Tool.html
关于unicode - 如何使用GNU diff差异utf-16文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/778291/