2011-05-15 127 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)。