【问题标题】:What is the difference between \r\n, \r, and \n? [duplicate]\r\n、\r 和 \n 有什么区别? [复制]
【发布时间】:2013-03-04 05:07:47
【问题描述】:

\r\n\r\n 之间的字符串有什么区别?每个字符串如何影响一个字符串?

我必须用\n 替换出现的\r\n\r,但我不知道它们在字符串中有何不同...

我知道\r 就像按回车,\n 是换行。

【问题讨论】:

    标签: string


    【解决方案1】:
    • \r = CR(回车)→ 在 X 之前的 Mac OS 中用作换行符
    • \n = LF(换行)→ 在 Unix/Mac OS X 中用作换行符
    • \r\n = CR + LF → 在 Windows 中用作换行符

    【讨论】:

    【解决方案2】:

    所有 3 个都代表一行的结尾。但是……

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

    【讨论】:

    • \r\n 有实际用途吗?我看不出换行如何不能从头开始。有例子吗?
    • @alp - 任何串行打印机或串行终端。 Centronix 兼容打字机。这是使用 Arduino UART 的学生非常普遍的经历。
    • 是的,最常见的是see HTTP Headers
    【解决方案3】:

    它们是正常的符号,如“a”或“ю”或任何其他符号。只是(不可见)字符串中的条目。 \r 将光标移动到行首。 \n 下移一行。

    至于你的替代品,你还没有指定你使用的是什么语言,所以这是草图:

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

    【讨论】:

      【解决方案4】:

      回车符 (\r) 使光标跳到第一列(行首),而换行符 (\n) 跳到下一行也可能到该行的开头。所以要确保在下一行中的第一个位置使用两者。

      【讨论】:

      • 我注意到在解析多行字符串时,有时它们仅由 \n 分隔,但有时则为 \r\n。是什么决定了哪些用于分隔行?
      • 通常是在库中编码的任何内容。在高级语言中,我们将编写 println()。对于串行终端和打印机,我们需要回车和换行或下一行缩进到最后一行结束的位置。然而,这可以隐含在文本文件中,并在通往 TTY 或 LP 的过程中进行适当的替换。
      • “最终”在英语中的意思可能与您的想法不同。它是“finally”、“ultimately”的同义词。
      猜你喜欢
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 2017-09-22
      • 2011-04-28
      • 1970-01-01
      • 2017-08-10
      相关资源
      最近更新 更多