我就是记不住。那么,正确终止老式ASCII行的正确方法是什么呢?
当前回答
手动执行此操作时要小心。 事实上,我建议不要这样做。
实际上,我们讨论的是特定于平台的线路终止序列LTS。
如果你以文本模式打开一个文件(即不是二进制),那么流将把“\n”转换为适合你的平台的正确LTS。然后在读取文件时将LTS转换回“\n”。
因此,如果你把“\r\n”打印到一个windows文件中,你会在物理文件中得到“\r\r\n”的序列(用十六进制编辑器看看)。
当然,当涉及到在平台之间传输文件时,这是真正的痛苦。
现在,如果您正在写入网络流,那么我将手动执行此操作(因为大多数网络协议都专门调用此操作)。但是我要确保流没有做任何解释(所以二进制模式是合适的)。
其他回答
如果你正在使用c#,为什么不使用环境。换行吗?(我假设你使用一些文件写入器对象…把它交给环境部。它会处理正确的终止符。
手动执行此操作时要小心。 事实上,我建议不要这样做。
实际上,我们讨论的是特定于平台的线路终止序列LTS。
如果你以文本模式打开一个文件(即不是二进制),那么流将把“\n”转换为适合你的平台的正确LTS。然后在读取文件时将LTS转换回“\n”。
因此,如果你把“\r\n”打印到一个windows文件中,你会在物理文件中得到“\r\r\n”的序列(用十六进制编辑器看看)。
当然,当涉及到在平台之间传输文件时,这是真正的痛苦。
现在,如果您正在写入网络流,那么我将手动执行此操作(因为大多数网络协议都专门调用此操作)。但是我要确保流没有做任何解释(所以二进制模式是合适的)。
还有一种方法是记住,0D 0A和\r \n与字母或数字顺序相比,都是反向或返回的顺序。
Windows的\r\n就可以了。
序列为CR(回车)- LF(换行)。还记得点阵打印机吗?完全正确。正确的顺序是r n
推荐文章
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- AppSettings从.config文件中获取值
- 如何检查IEnumerable是否为空或空?
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 没有ListBox。SelectionMode="None",是否有其他方法禁用列表框中的选择?
- 在c#代码中设置WPF文本框的背景颜色
- 如何在Windows命令提示符下运行.sh ?
- 如何在iis7应用程序池中设置。net Framework 4.5版本
- 如何分裂()一个分隔字符串到一个列表<字符串>
- 如何指定最小值,但没有使用范围数据注释属性的最大小数?
- 如何在PowerShell中获得本地主机名?
- 为什么在Java和。net中不能修改字符串?
- 如何从命令行在windows中找到mysql数据目录