我就是记不住。那么,正确终止老式ASCII行的正确方法是什么呢?
当前回答
手动执行此操作时要小心。 事实上,我建议不要这样做。
实际上,我们讨论的是特定于平台的线路终止序列LTS。
如果你以文本模式打开一个文件(即不是二进制),那么流将把“\n”转换为适合你的平台的正确LTS。然后在读取文件时将LTS转换回“\n”。
因此,如果你把“\r\n”打印到一个windows文件中,你会在物理文件中得到“\r\r\n”的序列(用十六进制编辑器看看)。
当然,当涉及到在平台之间传输文件时,这是真正的痛苦。
现在,如果您正在写入网络流,那么我将手动执行此操作(因为大多数网络协议都专门调用此操作)。但是我要确保流没有做任何解释(所以二进制模式是合适的)。
其他回答
在任何。net语言中,环境。NewLine更可取。
来自维基百科(你可以在那篇文章中读到适合你的操作系统):
系统基于ASCII或兼容 字符集使用LF(行 feed, '\n', 0x0A,十进制10)或CR (回车,'\r', 0x0D, 13 in 十进制)单独,或CR by LF (CR+LF, '\r\n', 0x0D0A)。
序列为CR(回车)- LF(换行)。还记得点阵打印机吗?完全正确。正确的顺序是r n
还有一种方法是记住,0D 0A和\r \n与字母或数字顺序相比,都是反向或返回的顺序。
如果你正在使用c#,为什么不使用环境。换行吗?(我假设你使用一些文件写入器对象…把它交给环境部。它会处理正确的终止符。
推荐文章
- 如何在命令提示符中使用空格?
- 按类型查找WPF窗口中的所有控件
- 数组与列表的性能
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 命令行从操作系统级配置中删除环境变量
- 从Description属性中获取Enum
- 为什么使用try {} finally{}和一个空的try块?
- 如何在内存中获取对象大小?
- 每个优秀的。net开发人员都应该能够回答的问题?
- 在特定的文件夹中打开Cygwin
- 如何编辑。csproj文件
- EscapeUriString和EscapeDataString的区别是什么?
- 命令行svn for Windows?
- 在c++ /CLI中插入号(' ^ ')是什么意思?
- Gulp命令未找到-安装Gulp后错误