换行符在编码过程中会造成怎样的影响?

图片描述

如题,我在看psr-2文档的时候,发现 "php文件使用unxi风格的lf换行符"。
我们知道,

  • windows:CRLF

  • unix:LF

  • mac:CR

那如果我在windows下编码使用lf换行,会有什么影响呢?
还有一个问题,换行符会给我们带来怎样的麻烦?或者在编码中会有怎样的坑吗?

阅读 5.4k
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”,一直不能通知成功。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题