Asimetrinin kökeni, tarihçeyi hesaplamanın bir yoluna gider.
Kısa versiyon:
<CR> & <LF> (Carriage-Return and Linefeed)
==
\r & \n
Uzun versiyon:
İlk ekranlar temel olarak teletiplerin (TTY) dijital versiyonlarıydı ve yazıcılara benzer davranışlar yaratmak için kontrol kodlarını kullandı. Satır başı, imleci (veya baskı kafasını) başlangıç sütununa götürdü. Satır besleme bir sonraki satıra (ekranda) ilerledi ve kağıdı bir satır ileriye besledi.
Yazıcılar için, bir eşleme yapmanız gerekiyordu <CR><LF>
veya çıktınız doğru görünmüyordu. İlk ekranlarda, sorun hala geçerliydi.
DOS (ve sonra sorta-Windows) eski standardı izledi ve ile metni kaydeder <CRLF>
.
* NIX metni (çoğu vi kullanıcısının bildiği gibi) yalnızca <LF>
verimlilik için kullanılır.
Windows'ta sınamak için Word / Wordpad'i kullanın ve birkaç satırlık metni "tür: Metin - MS-DOS biçimi" olarak kaydedin. Ardından aynı dosyayı Not Defteri'nde açın. Normal görünmeli. Daha sonra aynı dosyayı Word / Wordpad'e "tür: Metin" olarak kaydedin. Not Defteri tüm yeni satırları yoksayar ve satırları birlikte çalıştırır. [Not Defteri'nin metin biçimi varsayılan olarak \r\n
Word / Wordpad varsayılan olarak kullanılır \n
.]
\ r kod eşdeğeri <CR>
\ n kod eşdeğeridir <LF>
Ve vi ile (çok sınırlı) deneyimlerime göre, <CRLF>
DOS metin düzenleyiciden kombinasyonu "düzeltmeye" çalışır . vi, yerine bir karakteri kaldırarak sona erdi <NUL>
. Nedeni büyük bir kısmı vi kullanmayı bıraktım.
\r
olduğunu<CR>
ve\n
olduğunu söyler<LF>
. Farklı bağlamlarda neden farklı\n\r
davrandığına dair asıl soruya değinmiyor.