我就是记不住。那么,正确终止老式ASCII行的正确方法是什么呢?
来自维基百科(你可以在那篇文章中读到适合你的操作系统):
系统基于ASCII或兼容 字符集使用LF(行 feed, '\n', 0x0A,十进制10)或CR (回车,'\r', 0x0D, 13 in 十进制)单独,或CR by LF (CR+LF, '\r\n', 0x0D0A)。
手动执行此操作时要小心。 事实上,我建议不要这样做。
实际上,我们讨论的是特定于平台的线路终止序列LTS。
如果你以文本模式打开一个文件(即不是二进制),那么流将把“\n”转换为适合你的平台的正确LTS。然后在读取文件时将LTS转换回“\n”。
因此,如果你把“\r\n”打印到一个windows文件中,你会在物理文件中得到“\r\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 =回车,换行
\ r \ n
说来奇怪,我还记得它,因为它和我用过的打字机正好相反。 好吧,如果这是正常的,我就不需要记住它了……: -)
*图片来自维基百科
在打字机中,当您完成对行进行数字处理时,您可以使用支架返回杆,在此之前使滚筒滚动,换行后允许您手动操作支架返回。
你可以从freesound。org上的这段录音中听到开始时送纸的声音,大约在结束后1分03秒,在铃声警告结束后,鼓的滚动声和马车返回的声音。
推荐文章
- 我如何能使一个组合框不可编辑的。net ?
- .NET反射的成本有多高?
- 将流转换为字符串并返回
- IEquatable和重写Object.Equals()之间的区别是什么?
- 创建一个堆栈大小为默认值50倍的线程有什么危险?
- 如何使用Windows命令行更改目录
- 选择Enum类型的默认值而无需更改值
- String与StringBuilder
- 远程主机强制关闭现有连接
- 为什么ReSharper想要使用'var'的一切?
- 如何检查一个对象是否为空?
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- Objective-C for Windows
- “注册”一个.exe,这样你就可以从Windows中的任何命令行运行它
- 删除后面的零