例如,有一个名为“ Hello.txt”的文本文件。
Hello World!
然后,操作系统(我正在使用MS-DOS)如何识别此文本文件的结尾?在“!”之后是否隐藏了某种字符或符号?哪个指示文件结束?
如果您使用MS-Dos,那么在字符串末尾确实会有一个特殊字符是很奇怪的。MS-Dos源自蒂姆·帕特森(Tim Paterson)的QDos,他写道,它与当时的主流CP / M尽可能兼容。一个用于8位计算机的操作系统,它仅通过计算文件使用的磁盘扇区数来跟踪文件大小。这使得文件大小始终是128字节的倍数。
由于该文件可能位于某个扇区的中间,因此需要使用hack来指示文本文件的实际结尾,因此它使用了Ctrl + Z控制字符(字符代码0x1A)。这需要语言运行时实现再次删除它,并在遇到字符时声明文件结尾。Ctrl + Z并不是很被遗忘,当您在Windows控制台中键入它来终止输入时,它仍然可以工作。与Unix终端中的Ctrl + D进行比较。
它是否实际存在于文件中取决于哪个程序创建了该文件。要附加Ctrl + Z,也必须是MS-Dos程序。当然不是必需的。Paterson在CP / M上进行了改进,以消除一些限制,在拥有更多可用地址空间(1 MB和64 KB)的帮助下,MS-Dos跟踪了文件中的实际字节数。因此,它始终可以可靠地指示文件的真实结尾。这可能是您问题的最准确答案。
顺便说一句,明智地投资您的时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句