10月15日消息,对于程序员而言,CRLF(回车换行)肯定不陌生,其中CR (\\r,回车) 是将光标移动到当前行的最左侧,而和LF (\\n,换行)则是将光标下移一行。
此外还有新行 (NL,NewLine),它是指将光标下移一行,并移动到当前行的最左侧。
CRLF 的存在主要是为了兼容不同操作系统的文件格式,通常Windows使用CRLF作为换行符,而Unix/Linux和macOS只使用LF。
近日SQLite数据库的创始人D. Richard Hipp提出,CRLF已经过时,应当被废除。
Hipp认为,CRLF的起源可以追溯到70年前的机械电传打字机时代,而现代计算机环境中早已不再需要这样的字符组合。
他指出,在大多数编程语言和现代机器中,仅使用LF即可表示新行,而CR在大多数情况下已无实际用途。
Hipp甚至提出了四点建议,包括停止使用不必要的CR字符、更改Unicode中U+000a的名称为\"newline\"而非\"linefeed\"等。
此观点一出,引发了诸多程序员强烈的共鸣,同时也有不少人持不同的看法。
有人认为CRLF在跨平台文本文件处理中常常引发混乱,尤其是在编程时解析这些文件时。
但同时也有观点认为,处理不同或混合的行结尾并不是一个复杂的问题,不应该因为个别人的便利而改变现有的标准。
还有观点指出,真正的问题在于那些设计不良的Unix工具和Git,它们在处理行结尾时存在问题。
面对讨论Hipp最终撤回了自己的提议,他承认,尽管自己的想法在理论上几乎成功,但现实中的软件依赖情况比他预想的要复杂得多。
文章内容举报
本文转载于:快科技,仅供信息分享,无其他用途
© 版权声明
本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!
THE END
暂无评论内容