我就是记不住。那么,正确终止老式ASCII行的正确方法是什么呢?


当前回答

手动执行此操作时要小心。 事实上,我建议不要这样做。

实际上,我们讨论的是特定于平台的线路终止序列LTS。

如果你以文本模式打开一个文件(即不是二进制),那么流将把“\n”转换为适合你的平台的正确LTS。然后在读取文件时将LTS转换回“\n”。

因此,如果你把“\r\n”打印到一个windows文件中,你会在物理文件中得到“\r\r\n”的序列(用十六进制编辑器看看)。

当然,当涉及到在平台之间传输文件时,这是真正的痛苦。

现在,如果您正在写入网络流,那么我将手动执行此操作(因为大多数网络协议都专门调用此操作)。但是我要确保流没有做任何解释(所以二进制模式是合适的)。

其他回答

Windows的\r\n就可以了。

如果你正在使用c#,为什么不使用环境。换行吗?(我假设你使用一些文件写入器对象…把它交给环境部。它会处理正确的终止符。

手动执行此操作时要小心。 事实上,我建议不要这样做。

实际上,我们讨论的是特定于平台的线路终止序列LTS。

如果你以文本模式打开一个文件(即不是二进制),那么流将把“\n”转换为适合你的平台的正确LTS。然后在读取文件时将LTS转换回“\n”。

因此,如果你把“\r\n”打印到一个windows文件中,你会在物理文件中得到“\r\r\n”的序列(用十六进制编辑器看看)。

当然,当涉及到在平台之间传输文件时,这是真正的痛苦。

现在,如果您正在写入网络流,那么我将手动执行此操作(因为大多数网络协议都专门调用此操作)。但是我要确保流没有做任何解释(所以二进制模式是合适的)。

我会用“return”这个词来记住,r在n之前。

新行取决于你的操作系统:

DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13

更多详情请访问:https://ccrma.stanford.edu/~craig/utility/flip/

如果有疑问,可以使用任何免费的十六进制查看器/编辑器来查看文件如何对新行进行编码。

对我来说,我使用以下指南来帮助我记住:0D0A = \r\n = CR,LF =回车,换行