能够查看隐形文本的文本编辑器?

Tim*_*imo 14 computer-forensics text-editor

最近的一个问题*让我想知道是否有文本编辑器可以让你看到文件的每个字符,即使它们是不可见的?具体来说,我不是在寻找十六进制编辑功能,我对一个文本编辑器很感兴趣,它会向我显示所有不可见的字符(不仅仅是常见的空格/换行符).的BOM标记仅仅是一个例子,其它的是例如数学无形或可能不支持的字符.

我不是在寻找一种文本编辑器,它只支持编码之间的各种文本编码/翻译.我遇到的所有文本编辑器都正确对待不可见的字符,即让它们不可见(或者只是在BOM标记的情况下在翻译中删除).

我问这主要是出于学术兴趣,所以我并不特别关注任何特定的操作系统.我可以轻松地测试Linux和OSX解决方案,但是如果你推荐一个Windows编辑器,如果你包含编辑器如何处理除空白/换行之外的隐形,我将不胜感激.

编辑:我开始确保我想要的行为可以通过自定义突出显示或通过乱搞字体本身在emacs/vim中实现.这种解决方案也是可以接受的.

编辑2:看了几个选项后,我发现TextMate至少显示一个空白区域,文件中有一个不可见的UTF-8字符.对SO回答我的问题的能力略感失望.Bounty去了VIM,因为这是解决方案最有可能的方向.


*引发我这个问题的事件:我使用TextWrangler编写了一个perl脚本,并设法将编码更改为UTF8 BOM,它在文件的开头插入BOM标记.Perl(或者更确切地说是操作系统)迅速错过了#!随之而来的是混乱.然后,由于大多数文本编辑器都没有显示BOM标记,即使打开了各种"show invisibles"选项,它也花了我一个下午的大部分时间来解决这个问题.现在我已经吸取了教训并less立即使用:-).

Ale*_*lli 18

vim(在文本或图形模式下)可以显示所有控制字符:set list.BOM是一种特殊情况,由:set bomb:set nobomb命令控制.


Sco*_*ith 9

在Visual Studio的" 打开文件"对话框中," 打开"按钮旁边有一个向下箭头,可让您选择" 打开方式...".结果对话框中的一个选项是二进制编辑器.

我偶尔使用它来发现一些看不见的字符或解决一些行结束问题.


Amy*_*y B 7

Notepad ++ rocks:

NPP

  • -1 Notepad ++ 6.1.2从不将<U + FEFF>显示为可见字符. (6认同)

vy3*_*y32 5

在EMACS中打开文件并执行MX hexl-mode.你会得到一个如下所示的显示:

87654321  0011 2233 4455 6677 8899 aabb ccdd eeff  0123456789abcdef                               
00000000: 2320 2020 2020 2020 2020 2020 2020 2020  #               
00000010: 2020 2020 2020 2020 2020 2020 2020 2020                  
00000020: 2020 2020 2020 2020 2020 2020 2020 2020                  
00000030: 2d2a 2d20 4175 746f 636f 6e66 202d 2a2d  -*- Autoconf -*-
00000040: 0a23 2050 726f 6365 7373 2074 6869 7320  .# Process this 
00000050: 6669 6c65 2077 6974 6820 6175 746f 636f  file with autoco
00000060: 6e66 2074 6f20 7072 6f64 7563 6520 6120  nf to produce a 
00000070: 636f 6e66 6967 7572 6520 7363 7269 7074  configure script
00000080: 2e0a 2320 4f72 6465 7220 6973 206c 6172  ..# Order is lar
00000090: 6765 6c79 2069 7272 6576 656c 6c61 6e74  gely irrevellant
000000a0: 2c20 616c 7468 6f75 6768 2069 7420 6d75  , although it mu
000000b0: 7374 2073 7461 7274 2077 6974 6820 4143  st start with AC
000000c0: 5f49 4e49 5420 616e 6420 656e 6420 7769  _INIT and end wi
000000d0: 7468 2041 435f 4f55 5450 5554 0a23 2053  th AC_OUTPUT.# S
000000e0: 6565 2068 7474 703a 2f2f 6175 746f 746f  ee http://autoto
000000f0: 6f6c 7365 742e 736f 7572 6365 666f 7267  olset.sourceforg
00000100: 652e 6e65 742f 7475 746f 7269 616c 2e68  e.net/tutorial.h

  • 并且...对我自己和我; Control-x Control-c =退出emacs环境. (2认同)