\r
和 \n
有什么不同?我认为这与 Unix、Windows 和 Mac 有关,但我不确定它们究竟有何不同,以及在正则表达式中搜索/匹配哪些内容。
最佳答案
他们是不同的角色。 \r
为回车符,\n
为换行符。
在“旧”打印机上,\r
将打印头送回到行的开头,并且 \n
将纸张前进一行。因此,两者都是在下一行开始打印所必需的。
显然,现在这有点无关紧要,尽管根据控制台,您仍然可以使用 \r
移动到行的开头并覆盖现有文本。
更重要的是,Unix倾向于使用\n
作为行分隔符; Windows 倾向于使用 \r\n
作为行分隔符,Mac(操作系统 9 及以上)习惯使用 \r
作为行分隔符。 (Mac OS X 是 Unix-y,因此使用 \n
代替;不过,在某些兼容性情况下可能会使用 \r
。)
有关详细信息,请参阅 Wikipedia newline article .
编辑:这是语言敏感的。例如,在 C# 和 Java 中,\n
始终表示 Unicode U+000A,它被定义为换行符。在 C 和 C++ 中,水有点浑浊,因为含义是特定于平台的。详情请参阅评论。
关于special-characters -\r 和\n 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1279779/