2011-05-15 97 views
3

可能重复:
What is the difference between \r and \n?这些字符有什么区别?

我真的想知道什么是\n\r\tchr(13),它们是如何在Web应用程序中使用,其中操作系统之间的差异, 等等。

例如,你能否确认windows使用\n\r作为换行符,而linux只使用\n对吧?知道这些事情会很有趣。

感谢

+0

http://stackoverflow.com/q uestions/1279779/r-and-n之间的区别 – AndersTornkvist 2011-05-15 14:42:05

+0

@ Richard86 - 在你关联的问题中没有提及'\ t'。 – Oded 2011-05-15 14:45:43

+0

@Oded很抱歉,您是对的。 – AndersTornkvist 2011-05-15 14:49:29

回答

5

\ N - 换行 - 的0x0A - 10进制 - LF

\ r - 回车 - 0X0D - 13十进制 - CR

\吨 - 标签 - ×09 - 9十进制 - HT(水平制表)

有关详细的十六进制,十进制值是指: http://web.cs.mun.ca/~michael/c/ascii-table.html

CR + LF:DEC TOPS-10,RT-11和其他大多数早期非Unix和非IBM操作系统,CP/M, MP/M,DOS(MS-DOS,PC-DO S等),Atari TOS,OS/2,Microsoft Windows,Symbian操作系统,Palm OS

LF + CR:Acorn BBC假脱机文本输出。

CR:准将8位机,橡果BBC,TRS-80,苹果II系列的Mac OS多达9个版本和OS-9

LF:Multics的,Unix和类Unix系统(GNU/Linux,AIX,Xenix,Mac OS X,FreeBSD等),BeOS,Amiga,RISC OS等。但是,在tty'原始模式'中,CR + LF用于输出,CR用于输入。

RS:QNX pre-POSIX实现。

有关\ n多的细节,\ r \ t请参见:

http://en.wikipedia.org/wiki/Newline

http://en.wikipedia.org/wiki/Carriage_return

http://en.wikipedia.org/wiki/Horizontal_tab

要使用\ n \ r \吨HTML你可以使用以下代码:

\n in html == 
 or 
 linux, Unix and Mac OS X 

\r in html == 
 or 
 Mac(classic) 

\r\n in html == 
 or 
 Windows 

\t in html == 	 or 	 
6

这是在许多语言(C,C++,JAVA,JavaScript中,.NET仅举几例)字符转义序列。它们直接转换为等效的ASCII值(您发布为chr(13),其中一种语言会根据该ASCII值生成一个字符)。

它们的意思是:

\n == chr(13) == carriage return 
\r == chr(10) == line feed 
\t == chr (9) == tab 

这些都来自控制字符打印机,依次从打字机的到来。

回车带来打字机到行的开头。

换行将打字机带到下一行。

选项卡将打字机移动到下一个制表位。

需要换行符和回车符的组合才能将打字机带到下一行的开头。

窗口和unix之间的差异源于不同平台上关于如何表示新行的不同决策。 Unix与回车(可能也是为了节省空间),Windows与两者。 Mac用于同样使用换行符。

+1

Windows倾向于使用\ r \ n作为行分隔符(与问题相反的顺序)。 – AndersTornkvist 2011-05-15 14:51:33

1

chr(13)中的13是用于回车的ASCII码。有许多ASCII图表可以查看更多代码,以便与chr()一起使用。

  • Windows使用回车\换行符(\r\n)来表示新行。
  • MacOS仅使用回车(\r
  • Linux和Unix通常只使用新行(\n)。