ใช่ใช่ผมทราบว่า'\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 (เช่นประวัติ)