10 Eylül 2020 Perşembe

\n ve \r nedir? Aralarındaki fark nedir?

 \n ve \r, C, Java, Python gibi programlama dillerinde ve birçok başka dilde kullanılan özel karakter dizileridir. Doğrudan görünmeyen ancak metnin formatını veya davranışını kontrol eden bazı özel kontrol karakterlerini temsil etmek için kullanılırlar.

Yeni Satır

\n (Line Feed - New Line): \n yeni satır karakteridir. İmleci bir sonraki satırın başına taşır. Birçok programlama dilinde ve metin düzenleyicide, \n bir satırın sonunu temsil etmek için kullanılır. Bir string’de  \n gördüğünüzde, kendisini takip eden metnin yeni bir satırdan başlayacağı anlamına gelir.

Satır Başı

\r (Carriage Return): Bu karakter, imleci geçerli satırın başına geri taşır. Bir sonraki satıra değil. Bu, daktilo ve eski dönem yazıcıların zamanından kalan bir kalıntıdır. O dönemde yeni bir satıra başlamak için taşıyıcıyı satırın başına geri getirmeniz gerekiyordu.

Modern kullanımda, uygulaması değişiklik gösterir. Ağ protokolleri ve bazı metin işleme bağlamlarında hala kullanılıyor. Tek başına, \r yeni bir satıra geçmez; sadece mevcut satırın başına döner.

Farklar:

Kullanım: \n, Unix ve Unix benzeri sistemlerde (Linux, macOS vb.) yeni satır karakteri olarak yaygın olarak kullanılırken, \r eski Mac sistemlerinde kullanılır. Windows sistemleri, yeni bir satırı temsil etmek için her ikisinin bir kombinasyonunu (\r\n) kullanır.

Etki: \n imleci bir sonraki satıra taşırken, \r imleci mevcut satırın başına taşır.

Basitçe ifade etmek gerekirse, \n metinde aşağıya doğru ilerler ve \r yatay olarak satırın başına sıfırlar. Metin çıktısında bunları kullandığınızda görsel fark açıkça ortaya çıkar.

Örneğin, "Merhaba\nDünya" yazmak kelimeleri ayrı satırlarda gösterirken, "Merhaba\rDünya" yazmak, "Dünya"nın "Merhaba"nın üzerine yazılmasına neden olur. Elde edilen sonuç “Dünyaba” şeklinde olacaktır.