special-characters -\r 和\n 有什么区别?

标签 special-characters line-endings

\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/

相关文章:

c++ - 处理带有奇怪字符的文本

scripting - 如何确定文件的行尾

macos - ubuntu 12.04 virtual box vm 中用于我 mac 上共享文件夹的 git 行结束选项

windows - 为什么 Windows 使用 CR LF?

c# - 更改文件中的一个字符会导致 MSysGit 认为整个文件都已更改

sql - 行尾有“^M”字符

python - 我如何在字符串中使用\?

iphone - SQLite 中的法语字符..如何在 iPhone 应用程序中正确显示?

php - 将郁金香字符插入MySQL表

shell - 如何在 shell 脚本中显示 tux 字符?