当操作系统存储 .txt 文件(例如)时,它如何表示空格或换行符?
如果我没记错的话,所有数据都以二进制形式存储在硬盘上。那么是否有特定的二进制序列表示换行符?或者是否有一个或多个字符在文件从二进制读取后向操作系统发出信号?
答案1
根据操作系统的不同,它使用特殊字符换行符和/或回车符来表示换行符(DOS 同时使用这两种字符,Linux 只使用换行符,我认为但不确定 OSX 只使用回车符)。
与回车符相关的字符是 0x0D,与换行符相关的字符是 0x0A。
答案2
您说得对,硬盘上的所有数据都是二进制的。文本文件也以二进制形式存储。文本文件和电影之间没有区别。操作系统知道什么是文本文件,并且可以将该二进制文件转换为人类可读的形式,即文本文件。Windows 和 *NIX 处理文本文件的方式略有不同,但大体相同。有表示end of line
、Carriage return
、line feed
和的字符End of File
。
这个维基百科文章更深入一点。