换行符在编码过程中会造成怎样的影响?
如题,我在看psr-2文档的时候,发现 "php文件使用unxi风格的lf换行符"。
我们知道,
windows:CRLF
unix:LF
mac:CR
那如果我在windows下编码使用lf换行,会有什么影响呢?
还有一个问题,换行符会给我们带来怎样的麻烦?或者在编码中会有怎样的坑吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
换行符只是标记换行而已,因为通常的字符编码都是兼容ASCII的,而LF和CR在ASCII中总是10的13,所以编码里是没有相关的坑的。
目前不论是IDE还是常规的编辑器,基本都带有了换行符的设置,只要在相关的设置中选择对应的换行符即可,不论你在Windows还是Linux下。
你谈到的 Windows:CRLF、*nix:LF、早期macOS:CR 都是系统的默认换行方式而已,并不代表在对应系统中只能使用这种换行符。
一般PHP文件啥换行符都能正确运行。但是要注意不要带windows下的UTF8的BOM头。
统一用常量
PHP_EOL
遇到过一个坑,做三方支付通知时,需要仅仅返回一个 success 字符,用php include "base.php"时,编辑器里面base.php最后面手动敲了一个换行,就导致了返回结果变成了“换行符+success”,一直不能通知成功。