如果这个问题看起来过于简单或者过于宽泛,我很抱歉。
我想澄清一下什么是二进制文件。我知道二进制文件是二进制编码的文件。
JPEG 之类的文件格式是否属于二进制文件?
维基百科简单地指出,二进制文件是任何用于计算机存储/处理的二进制编码文件,并且任何完全基于文本的文件都被视为纯文本文件,也就是说,不是二进制文件。
答案1
嗯,你明白每一个有内容的文件都是二进制文件,每一个文件无一例外,包括带.txt
扩展名的文件。
.txt
具有扩展名的二进制文件和具有扩展名的二进制文件之间的唯一区别.jpg
实际上是元区别:习俗和历史实践告诉我们我们可以对第一个文件做出假设:
- 它将被解释为连续的 8 位字段的集合;
- 每个这样的字段代表一个 ASCII 字符;并且
- 最重要的是,没有控制字段——没有计数,没有状态变化指标,什么都没有。
否则,我们(仅按照惯例)所称的文本文件和任何其他文件之间没有任何区别。
此外,仅通过查看文件内容无法知道应如何解释文件。我们必须依靠文件外部的某些东西(例如其扩展名)来提示文件内容。
答案2
我会向我的妈妈描述这一点(希望你们都不会对此感到生气)——任何在记事本中打开时包含乱码的文件都是二进制文件。
当我在工作中提到二进制文件时,它们通常是编译器的输出。它们可能嵌入了可读的文本,但仍被视为二进制文件。
JPEG 是二进制文件。
更新:
对于 FTP,这种区别变得更加重要,因为您处于 ASCII 或二进制传输模式。这与解释多个系统的行尾(NL 与 CRLF)有关。您不会想修改使用换行符的 JPEG,因为这有损坏的风险。