ใช่ใช่ผมทราบว่า'\n'เขียนขึ้นบรรทัดใหม่ในระบบปฏิบัติการยูนิกซ์ในขณะที่สำหรับ Windows '\r\n'มีลำดับสองตัวอักษร: ทั้งหมดนี้เป็นสิ่งที่ดีมากในทฤษฎี แต่คำถามของฉันคือทำไม ? เหตุใดอักขระการคืนตลับหมึกจึงมีความพิเศษใน Windows หาก UNIX สามารถทำได้ในกรณีที่\nใช้ Windows สองตัวเพื่อทำสิ่งนี้
ฉันกำลังอ่านหนังสือ Python ของ David Beazley และเขาพูดว่า:
ตัวอย่างเช่นบน Windows การเขียนตัวอักษร '\ n' จริง ๆ แล้วจะส่งออกลำดับสองตัวอักษร '\ r \ n' (และเมื่ออ่านไฟล์กลับมา '\ r \ n' จะถูกแปลกลับเป็น '\ n' เดียว ตัวอักษร)
ทำไมต้องใช้ความพยายามพิเศษ
ฉันจะซื่อสัตย์ ฉันรู้จักความแตกต่างมาเป็นเวลานาน แต่ไม่เคยใส่ใจที่จะถามว่าทำไม ฉันหวังว่าจะได้รับคำตอบในวันนี้
ขอบคุณที่สละเวลา.
System.out.printf()หรือString.format()) ให้แน่ใจว่าคุณใช้%nเป็น CRLF ของคุณเพื่อวัตถุประสงค์ในการทำงานร่วมกันได้ของระบบปฏิบัติการ \nเลิกใช้แล้ว
\n\rหลายครั้ง (ฉันคิดว่ามันเป็นอะไรบางอย่างจาก NetWare)
\r\nไม่ได้เป็นคนเดียวที่ใช้ มันถูกใช้โดยโปรโตคอลอินเทอร์เน็ตที่เป็นข้อความส่วนใหญ่ (เช่น SMTP, HTTP, ฯลฯ ) ด้วยเหตุผลส่วนใหญ่เช่นเดียวกับ Windows (เช่นประวัติ)