为什么有些文件在文本编辑器中打开时显示为部分乱码?

时间:2018-06-04 02:17:48

标签: text encoding character-encoding

我经常遇到这样一种情况:我希望以人类可读的方式阅读文件的原始内容。在文本编辑器中打开这种文件时,为什么它通常是带有一些完整且易于理解的文本的乱码?我认为如果文件被转换为其原始书写格式之外的其他内容,那么没有可理解的文本,但我经常发现它介于两者之间。

例如,我知道如果我以文本格式打开二进制文件,就不会有任何可理解的东西,这不是纯粹偶然的。

Example screencapture of partial gibberish text

为什么这里有完整的文字和乱码?这是否意味着如果我用某种不同的编码打开文件(我不知道什么是可能的),文件将作为完全可读的文本来传递?我会理解它是全有或全无(无论是胡言乱语还是不可读或人类语言),但我不理解中间。

请提供教育回复,而不是“,因为这就是”类型答案。

1 个答案:

答案 0 :(得分:0)

那些是格式化字符;没有标准用途,并且根据相关文件的格式而有所不同。您仍然可以根据需要提取文本,同时了解grep和regex,但它不会很有趣。最好的办法是使用可以正确读取的软件打开文件,因为像gedit或Notepad ++这样的文本编辑器会读取原始数据并显示它。例如,Adobe的pdf格式嵌入了文本,所有乱码都是Reader软件的说明,用于在屏幕上正确显示它,同时仍然允许在需要时提取相对简单的文本。

编辑没有真正的方法来解释特殊的格式化字符,并且需要为每个可想到的程序加载API。它们还需要不断更新,因为格式会因各种原因而定期更改。很多时候,只是为了防止文件向后兼容自己或其他产品,从而强制升级路径。微软因此而闻名,但它们并不是唯一一家这样做的公司。