【发布时间】:2010-03-26 21:30:13
【问题描述】:
最近的一个问题*让我想知道是否有一个文本编辑器可以让您查看文件的每个字符,即使它们是不可见的?具体来说,我不是在寻找十六进制编辑功能,我对可以显示所有不可见字符(不仅仅是常见的空格/换行符)的文本编辑器感兴趣。 BOM marker 只是一个例子,其他例子是mathematical invisibles 或可能是 unsupported characters。
我不是在寻找仅支持多种文本编码/编码之间翻译的文本编辑器。我遇到的所有文本编辑器都正确处理了不可见字符,即让它们不可见(或者像 BOM 标记一样在翻译中被删除)。
我问这个主要是出于学术兴趣,所以我并不特别关注任何特定的操作系统。我可以轻松地测试 Linux 和 OSX 解决方案,但如果您推荐一个 Windows 编辑器,如果您包含有关编辑器如何处理除空格/换行符之外的不可见内容的描述,我将不胜感激。
编辑:我开始确定我想要的行为可以通过自定义突出显示或通过弄乱字体本身在 emacs/vim 中实现。这种类型的解决方案也是可以接受的。
EDIT2:在查看了几个选项后,我发现 TextMate 至少显示了一个空白区域,其中文件中有一个不可见的 UTF-8 字符。对 SO 回答我的问题的能力有点失望。赏金归于 VIM,因为这是最有可能解决的方向。
*引发我这个问题的事件:我使用 TextWrangler 编写了一个 perl 脚本,并设法将编码更改为 UTF8 BOM,它在文件开头插入 BOM 标记。 Perl(或者更确切地说是操作系统)会立即错过 #!混乱随之而来。然后我花了一个下午的大部分时间才弄清楚这一点,因为即使打开了各种“显示不可见”选项,大多数文本编辑器也不显示 BOM 标记。现在我已经吸取了教训,将立即使用less :-)。
【问题讨论】:
-
Perl 不处理 #!线;这是一条评论。您的操作系统试图解析它。无论如何,emacs + hexl-mode 会告诉你一切。
-
我对 perl 位的看法是正确的。但我也澄清了一点问题。
-
您需要编辑器用于什么平台?视窗? Linux?操作系统?阿米加?
-
OS X,Linux 也可以。不过,这主要是学术兴趣。
-
不是文本编辑器,但在 Windows 中,TYPE 命令显示 BOM...
标签: text-editor computer-forensics