CR และ LF
รหัสมาตรฐานอเมริกันสำหรับการแลกเปลี่ยนข้อมูล (ASCII) กำหนดอักขระควบคุมรวมถึง CARRIAGE-RETURN (CR) และ LINE-FEED (LF) ที่ใช้ (และยังคงเป็น) ที่ใช้ในการควบคุมตำแหน่งการพิมพ์บนเครื่องพิมพ์ในลักษณะที่คล้ายคลึงกับ เครื่องพิมพ์ดีดเชิงกลที่นำหน้าเครื่องพิมพ์คอมพิวเตอร์รุ่นแรก
การพึ่งพาแพลตฟอร์ม
ใน Windows ตัวแยกบรรทัดแบบดั้งเดิมในไฟล์ข้อความคือ CR ตามด้วย LF
ระบบ Apple Macintosh เก่า (ก่อน OSX) ตัวแยกบรรทัดแบบดั้งเดิมในไฟล์ข้อความคือ CR
ใน Unix และ Linux ตัวแยกบรรทัดแบบดั้งเดิมในไฟล์ข้อความคือ LF
\ n และ \ r
ในการเขียนโปรแกรมและภาษาสคริปต์จำนวนมาก\n
หมายถึง "บรรทัดใหม่" บางครั้ง (แต่ไม่เสมอไป) นี่หมายถึงอักขระ ASCII LINE-FEED (LF) ซึ่งตามที่คุณพูดจะย้ายเคอร์เซอร์ (หรือตำแหน่งการพิมพ์) ลงหนึ่งบรรทัด ในเครื่องพิมพ์หรือเครื่องพิมพ์ดีดสิ่งนี้จะเลื่อนกระดาษขึ้นหนึ่งบรรทัด
อย่างสม่ำเสมอ \r
หมายถึงอักขระ ASCII ผลตอบแทนการขนส่ง (CR) ซึ่งมีชื่อจริงมาจากเครื่องพิมพ์ดีดกลที่มีความสำคัญผลตอบแทนการขนส่งที่ก่อให้เกิดลูกกลิ้ง ( "สายการบิน") ที่ดำเนินกระดาษที่จะย้ายไปทางขวาขับเคลื่อนโดยฤดูใบไม้ผลิ เท่าที่มันจะไป ดังนั้นการตั้งค่าตำแหน่งการพิมพ์ปัจจุบันเป็นระยะขอบซ้าย
การเขียนโปรแกรม
ในภาษาการเขียนโปรแกรมบางภาษา\n
อาจหมายถึงลำดับของอักขระขึ้นอยู่กับแพลตฟอร์มที่สิ้นสุดหรือแยกบรรทัดในไฟล์ข้อความ ตัวอย่างเช่นใน Perl print "\n"
สร้างลำดับอักขระที่แตกต่างบน Linux มากกว่าบน Windows
ใน Java แนวทางปฏิบัติที่ดีที่สุดหากคุณต้องการใช้ปลายสายแบบเนทีฟสำหรับแพลตฟอร์มรันไทม์ไม่ควรใช้\n
หรือไม่ใช้\r
เลย System.getProperty("line.separator")
คุณควรใช้ คุณควรใช้\n
และ\r
ตำแหน่งที่คุณต้องการ LF และ CR โดยไม่คำนึงถึงแพลตฟอร์ม (เช่นที่ใช้ใน HTTP, FTP และโปรโตคอลการสื่อสารทางอินเทอร์เน็ตอื่น ๆ )
Unix stty
ในเชลล์ Unix stty
คำสั่งสามารถใช้เพื่อทำให้เชลล์แปลระหว่างการประชุมที่หลากหลายเหล่านี้ ตัวอย่างเช่นstty -onlcr
จะทำให้เชลล์แปล LFs ขาออกทั้งหมดเป็น CR LF ในภายหลัง
Linux และ OSX ปฏิบัติตามข้อตกลง Unix
ไฟล์ข้อความ
ไฟล์ข้อความยังคงมีความสำคัญอย่างมากและใช้กันอย่างแพร่หลาย ตัวอย่างเช่น HTML และ XML เป็นตัวอย่างของไฟล์ข้อความ โพรโทคอลอินเทอร์เน็ตที่สำคัญส่วนใหญ่เช่น HTTP เป็นไปตามข้อกำหนดของไฟล์ข้อความและมีข้อกำหนดสำหรับการวางสาย
เครื่องพิมพ์
เครื่องพิมพ์ส่วนใหญ่นอกเหนือจากที่ถูกที่สุดยังเคารพ CR และ LF ในความเป็นจริงมันเป็นพื้นฐานของภาษาคำอธิบายหน้าที่ใช้กันอย่างแพร่หลาย - PCL และ Postscript
\r\n
ไม่เป็นไรใน Windows แต่\n\r
ไม่ได้และฉันจำได้ว่าเพราะ\r\n
เป็นตัวย่อสำหรับพยาบาลที่ลงทะเบียน ฉันยังได้ยินว่า\n
เป็นสิ่งที่คนใช้ใน Linux และไม่ได้ใช้เพียงอย่างเดียวเพื่อวัตถุประสงค์เดียวกันเป็น\r
ใช้ใน MacOS รุ่นเก่าจริงๆ แต่ฉันยังไม่ได้ตรวจสอบข้อเท็จจริงเหล่านี้\r\n
\r