以下术语在文件上下文中有何不同?
二进制表格和二进制文件。
答案 0 :(得分:2)
好吧,所有文件都是二进制文件,但您可以通过各种方式解释其内容。
如果您在记事本中打开文件,并看到内容:
一切都很好
然后您可能会认为“这是一个文本文件”,但它只是一个文本文件,因为您选择在记事本中打开它并且记事本能够将内容解释为字符,然后将它们显示给您并且您可以阅读它
二进制表单可能是一种说明数据不能以可读方式表示给我们人类的方式,例如将图像保存到文件肯定会产生与文本文件相同类型的位,但是你不能在记事本或类似的文件中打开文件,并希望了解其中的任何文件。
总而言之,无论“二进制形式”和“二进制文件”的意思可能取决于上下文,但这是我的解释:
文本文件基本上只是一个二进制文件,它带有一些标识其内容为文本性质的东西,或者按照惯例在程序中打开,试图将其解释为文本。
例如,如果Web服务器返回一个文件以及将文件标识为文本的mime类型,则浏览器可能会尝试将其显示给您,而如果服务器返回将其标识为二进制的mime类型(即。不是文本),浏览器通常只是下载文件而不试图显示它。
所以二进制文件可能是在提示您提问的任何内容的上下文中,区分处理文件的程序行为的约定。正如我所说的,所有文件基本上都是二进制文件,这就是你如何理解它们重要的内容。
答案 1 :(得分:1)
所有文件都是二进制文件,但我可能(出于给定目的)将二进制形式的数据或其所代表的字符(如果包含文本)视为数据。因此,可以考虑包含“Hello World”或{0x48,0x65,0x6C,0x6C,0x6F,0x20,0x57,0x6F,0x72,0x6C,0x64}的相同文件,具体取决于我们使用它做什么。
仅用于后一种方式的文件(例如可执行文件或大多数图像格式)通常称为二进制文件。
可以在系统之间明智地转换与文本文件的不同约定,例如,传输可以在由{0x0A},{0x0D},{0x0D,0x0A}或{0x1E}(以及其他一些)表示的新行之间进行转换格式,但它们在其他方面具有更大的不兼容性),以便文件在它们被移动到的任何系统上正常工作,但是对图像文件或可执行文件执行此操作会破坏它,因此我们讨论将文件作为文本传输(执行行结尾之间的转换)或二进制(不改变任何东西)。
答案 2 :(得分:0)
有人可能会说“二进制形式”来指代数据的某些非文本表示。这是一个非常模糊的术语。同样,“二进制文件”只是一个不包含文本的文件。
想象一下,您想将数字“123”存储在一个文件中。有几种方法可以做到,但从广义上讲,只有两种:文本或二进制。在文本形式中,数字“123”将表示为数字“1”的代码,数字“2”的代码和数字“3”的代码。这和一个连接字符串“abc”的文件之间没有什么不同:三个字符的三个代码。
但是在二进制文件中,数字“123”可能会存储为单个“代码” - 数字本身的base-2表示。如果您理解我的意思,不是我们用来显示数字的字符,而是数字的实际值。