本文是PHP对换行符处理的详细分析和介绍,供有需要的朋友参考。
一首先说说 r 与n的区别回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。
在计算机出现之前,有一种东西叫Teletype Model 33(Linux/Unix下的tty概念也来源于此),每秒钟可以打10个字符。但是它有一个问题,就是打一个新行需要0.2秒,正好是两个字符。如果一个新字符在0.2秒内出现,该字符将丢失。于是,开发者想了一个办法来解决这个问题,就是在每行的末尾加两个字符。一个叫“回车”,它告诉打字机把打印头定位在左边界;另一种叫做“换行”,它告诉打字机将纸向下移动一行。这就是“换行”和“回车”的由来,从它们的英文名也可以看出来。
后来发明了计算机,把这两个概念推广到计算机上。那时候内存很贵,有科学家觉得每行末尾加两个字太浪费了。加一个就好。结果,出现了分歧。
在Unix系统中,每行末尾只有“换行”,即 n ;在Windows系统中,每行的结尾是“回车”,即“ n r”;在Mac系统中,每行的结尾都是“Enter”,即 n ;一个直接的后果是,如果在Windows中打开Unix/Mac系统下的文件,所有的文本都会变成单行;如果Windows中的文件是在Unix/Mac下打开的,则每行的末尾可能会多一个M符号。
c语言编程(windows系统)r返回到该行的开头,这将覆盖该行以前的输出。