Windows回車符是\r\n
而在Unix中是\n
,是否\r\n
對待爲兩個字符?Windows回車 r n是由兩個字符還是一個字符組成?
回答
這是兩個字符:
\r
是回車;\n
是換行符。
兩個字符結合在一起表示Windows上的新行。而在Linux上,\n
代表新行。它將光標移動到Linux上新行的開頭。在Windows上,光標將停留在控制檯中的同一列上,但在下一行。
\r
在Linux上的效果與在Windows上的效果相同:將光標移動到行首。可以在使用\r
而不是\n
的同一行上打印不同的信息。
是的,它是兩個字符:回車'\ r'後跟換行'\ n'。
取決於設置。 \r\n
是兩個字節寬(ASCII,UTF-8等),但I/O庫如C的stdio
庫和其他文件模式下操作時,可能準確透明地在\n
和\r\n
之間轉換。
即,在Windows平臺上,一個C程序讀取文本模式流txt_in
與
while ((c = getc(txt_in)) != EOF)
printf("%02x\n", c);
不會爲\r
報告的ASCII碼。相反,putc('\n', txt_out)
實際上會將\r\n
寫入文本模式流txt_out
。
爲什麼downvote? –
Windows不區分\r\n
和任何其他兩個字符。但是,有一種情況將其視爲一個字符:如果使用C運行時並以文本形式打開文件,則文件中的\r\n
將被讀取爲\n
,並且\n
將被寫入文件中作爲\r\n
。
我進行了一些測試用記事本++和崇高的文本2在Windows(沒有什麼花哨),並且事實證明,\r
和\n
確實是2個不同的角色,但是......
不同的文本編輯器可以插入或他們可能不會插入\r
當返回鍵被按下。
嘗試在你的文本編輯器中執行以下操作:
1
2
3
4
5
然後按按Ctrl + F,使正則表達式和搜索\r
。根據您的文本編輯器及其設置,您可能會在每行的末尾「碰撞」或「未碰到」某個角色。如果上面的文字是從另一編輯複製粘貼,也表現可能會有所不同...
一些文本編輯器允許在他們的設置,自定義在那裏,如果你喜歡\r\n
或UNIX風格\n
被插入時,你可以指定你按返回。最重要的是,它們可能允許您在保存文件之前通過剝離或插入\r
字符來選擇強制執行一致的樣式。
你不應該依賴文本編輯器,因爲它們中的一些在加載文件時可能會做一些魔術。驗證的正確方法是在十六進制編輯器中打開文件。 – Telemat
- 1. grep的R中兩個字符串是一個字符
- 2. Python是這個字符串還是字符串數組?
- 3. 如何返回由兩個字符串交替字符組成的字符串?
- 4. 將字符串分成由兩個字符組成的字符串
- 5. 檢查一個字符串是否可以由Javascript中另一個字符串中的字符組成
- 6. 分割字符串由N個字符
- 7. 當回車是字符串
- 8. 是PHP中的一個數組的字符串,還是不是?
- 9. 結合兩個字符串組成一個新的字符串
- 10. 檢測字符串是否僅由一種字符組成
- 11. 如何迭代一個字符串中的n個字符組而不是一次一個字符?
- 12. 最快的方法來確定是否兩個字符串由一個字符
- 13. 添加兩個int字符連成一個字符數組或字符串
- 14. Java中的字符是1個字節還是2個字節?
- 15. 在字符串末尾檢測兩個連續的回車符
- 16. 從兩個字符串數組中返回唯一字符串,連接成一個字符串VBA
- 17. 判斷一個字符串是否是另一個子字符
- 18. 當是一個字符串不是一個字符串
- 19. F#:檢查一個值是否是一個字符串數組,字符串數組或字符串數組
- 20. 如何將兩行(由字符組成)合併爲一個
- 21. 檢查一個字符是整數還是字母
- 22. 如果它是由一個字符
- 23. 測試字符串是以另一個字符串開始還是以另一個字符串結尾
- 24. 我的幫助器方法應該返回一個字符還是字符串?
- 25. 1D數組是作爲字符串列表還是單個字符串工作?
- 26. 由回車C拆分字符串C
- 27. 將幾個字符串連接成一個字符串R
- 28. 確定一個字符串是不是另一個字符串
- 29. 在C++中返回一個'/ n'字符
- 30. 檢查一個字符串的第一個字符是PHP中的字母還是數字?
+1。作爲OP的附加信息:[Newline](http://en.wikipedia.org/wiki/Newline)。 – informatik01