在Mac上,换行符用"\r"表示吗?

10

fiddle:如果在最近的 Mac 上的文本区域中按Enter键,则看起来换行符被表示为\r,这与这里这里这个问题以及维基百科上的答案形成鲜明对比。总结这些链接:

  • \r代表旧版 Mac(OS 9及之前版本)的换行符
  • \n代表 UNIX 系统(OS X、Linux)的换行符
  • \r\n代表 Windows 的换行符。

当我在 JSFiddle 中按 Enter 键时,我得到以下结果(OS X 10.11.6):

textarea: \r

span: \n
这种行为花费了很长时间才弄明白,而且似乎不合逻辑。背后的基本原理可能是什么?

这种行为花费了很长时间才弄明白,而且似乎不合逻辑。背后的基本原理可能是什么?


1
你的代码测试了错误的内容,请尝试测试 textarea 的 .value... - dandavis
1
Fwiw https://unix.stackexchange.com/questions/349214/enter-key-is-different-from-carriage-return-cr值得一提的是https://unix.stackexchange.com/questions/349214/enter-key-is-different-from-carriage-return-cr - Dominik Teiml
1个回答

11

我认为你混淆了两个问题:

  1. 按回车键会产生什么字符代码?
  2. 哪些平台使用哪种行尾?

据我所知,对于问题1,所有平台都是13(ASCII 回车符,"\r")。

你是否有在某个平台上看到不同的答案?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接