\ r \n,\ r和\n它们之间有什么区别?

Hay*_*aed 360 string

我需要询问字符串之间的区别\r\n,\r\n.字符串如何受每个字符串的影响?

我不得不更换的出现\r\n,并\r\n,但我不能让他们如何在一个字符串不同...

我知道这\r就像打击进入并且 \n是一条新线.

Tom*_*n89 453

  • \r = CR(回车)→在X之前用作Mac OS中的换行符
  • \n = LF(换行)→在Unix/Mac OS X中用作换行符
  • \r\n = CR + LF→在Windows中用作换行符

  • \n是LF而\ r是CR ... (8认同)
  • `\ r`适用于Mac OS 9及以下版本(也称为*System*).Mac OS X主要使用`\n`(并且是Unix). (6认同)
  • http://en.wikipedia.org/wiki/Newline (5认同)
  • 我们正在努力:http://geek-and-poke.com/geekandpoke/2014/2/5/babylon (4认同)
  • 对于新行,Windows是\ r \n. (3认同)
  • @ user391339您必须考虑旧打印机和打字机.回车符将您的位置设置为最左侧的列,但是相同的行.换行在下方移动一行,但保持在同一列中.您需要创建一个设置在左侧位置的新线.已经在Exasm答案(5年前)上进行了解释.当然,在现代计算机中你不需要它,但是Windows一直在做这种向后兼容的事情. (2认同)

小智 164

它们中的所有3个代表一条线的末端.但...

  • \r(回车) →将光标移动到行的开头而不前进到下一行
  • \n(换行) →将光标向下移动到下一行而不返回到行的开头- 在*nix环境中\n移动到行的开头.
  • \r\n(行尾) →的组合\r\n

  • @alp - 任何串行打印机或串行终端。Centronix 兼容打字机。这是使用 Arduino UART 的学生的常见经历。 (5认同)
  • 在*nix环境中\n移动到行的开头. (4认同)
  • @alp 想象一台打字机。您可以移动到下一行,而无需将笔架重置到行的开头。这就是这些控制字符的起源。 (4认同)
  • \r\n 有实际用途吗?我不明白换行如何不能从头开始。有例子吗? (3认同)

dur*_*lka 22

它们是正常的符号,如'a'或'ю'或任何其他符号.字符串中的(不可见)条目.\ r \n将光标移动到行的开头.\n排成一行.

至于你的替换,你没有指定你正在使用的语言,所以这里是草图:

someString.replace("\r\n", "\n").replace("\r", "\n")


Mat*_*ten 9

回车符(\r)使光标跳转到第一列(行的开头),而换行符(\n)跳转到下一行并最终跳转到该行的开头.因此,为了确保在下一行中的第一个位置,使用两者.

  • 我注意到当我解析多行字符串时,有时它们仅用 \n 分隔,但有时则用 \r\n 分隔。是什么决定了使用哪个来分隔线? (2认同)