CR ve LF
Bilgi Değişimine İlişkin Amerikan Standart Kodu (ASCII), yazıcılardaki baskı pozisyonunu yazıcıya benzer şekilde kontrol etmek için kullanılan (ve hala da) bulunan kontrol karakterlerini tanımladı. erken bilgisayar yazıcılarından önceki mekanik daktilolar.
Platform bağımlılığı
Windows'ta metin dosyalarındaki geleneksel satır ayırıcı CR ve ardından LF
Eski (OSX öncesi) Apple Macintosh sistemlerinde, metin dosyalarındaki geleneksel çizgi ayırıcı CR idi.
Unix ve Linux'ta, metin dosyalarındaki geleneksel çizgi ayırıcı LF'dir.
\ n ve
Birçok programlama ve komut dosyası dilinde \n
"yeni satır" anlamına gelir. Bazen (ancak her zaman değil) bu, söylediğiniz gibi imleci (veya yazdırma konumunu) bir satır aşağı hareket ettiren ASCII LINE-FEED karakteri (LF) anlamına gelir. Bir yazıcıda veya daktiloda, bu aslında kağıdı bir satır yukarı taşır.
Değişmeyen bir \r
şekilde, adı aslında daktilolardan gelen ASCII CARRIAGE-RETURN karakteri (CR), kağıdın bir yayınla beslenmesini sağlayan, sağa doğru hareket etmesine neden olan rulonun ("taşıyıcı") taşınmasını sağlayan bir satır başı anahtarı olduğu anlamına gelir; gidebildiği kadarıyla. Böylece mevcut yazma pozisyonunun sol kenar boşluğuna ayarlanması.
Programlama
Bazı programlama dillerinde \n
, bir metin dosyasındaki satırları biten veya ayıran platforma bağlı bir karakter dizisi anlamına gelebilir. Örneğin Perl'de print "\n"
Linux'ta Windows'takinden farklı bir karakter dizisi üretir.
Java'da, çalışma zamanı platformu için yerel satır sonlarını kullanmak istiyorsanız en iyi yöntem, kullanmamak \n
veya \r
hiç kullanmamaktır . Kullanmalısın System.getProperty("line.separator")
. Sen kullanmalıdır \n
ve \r
ne olursa olsun platform LF ve CR istediğiniz yere (HTTP, FTP ve diğer Internet iletişim protokollerinde örneğin kullanıldığı gibi).
Unix stty
Bir Unix kabuğunda, stty
kabuğun bu çeşitli kurallar arasında çevirmesine neden olmak için komut kullanılabilir. Örneğin stty -onlcr
, kabuğun daha sonra tüm giden LF'leri CR LF'ye çevirmesine neden olacaktır.
Linux ve OSX, Unix kurallarını takip ediyor
Metin dosyaları
Metin dosyaları hala çok önemli ve yaygın olarak kullanılıyor. Örneğin, HTML ve XML metin dosyası örnekleridir. HTTP gibi önemli İnternet protokollerinin çoğu, metin dosyası kurallarını izler ve satır sonları için özellikleri içerir.
Yazıcılar
En ucuz olanların dışında çoğu yazıcı hala CR ve LF'ye saygı duyuyor. Aslında en çok kullanılan sayfa açıklama dilleri için temeldir - PCL ve Postscript.
\r\n
Windows’ta sorunlu olduğunu biliyorum ama\n\r
değil ve hatırlıyorum çünkü\r\n
kayıtlı hemşirenin kısaltması. Ayrıca\n
insanların Linux'ta\r
kullandıklarını ve aynı amaçla tek başına kullanılmadıklarını duydum\r\n
.\r
gerçekten eski MacOS'ta kullanılır. Yine de bu gerçekleri doğrulamamıştım.