Chcel by som vedieť, aký je rozdiel (podľa možnosti s príkladmi) medzi typmi zalomenia riadku CR LF (Windows), LF (Unix) a CR (Macintosh).
CR a LF sú riadiace znaky s kódmi 0x0D
(13 desatinných miest) a 0x0A
(10 desatinných miest).
Používajú sa na označenie zalomenia riadku v textovom súbore. Ako ste uviedli, systém Windows používa dva znaky sekvencie CR LF; Unix používa iba LF a starý systém MacOS ( pred OSX MacIntosh) používal CR.
Apokryfný historický pohľad:
Ako uviedol Peter, CR = Carriage Return a LF = Line Feed, dva výrazy majú svoje korene v starých písacích strojoch / TTY. LF posúval papier nahor (ale zachovával rovnakú horizontálnu polohu) a CR vracal "vozík" späť, takže ďalší písaný znak bol na ľavej strane papiera (ale na tom istom riadku). CR+LF robilo oboje, t. j. pripravovalo písanie nového riadku. Postupom času sa fyzikálna sémantika kódov nedala použiť, a keďže pamäť a miesto na disketách boli v úzadí, niektorí konštruktéri operačných systémov sa rozhodli používať len jeden zo znakov, jednoducho spolu veľmi nekomunikovali ;-)
Väčšina moderných textových editorov a textovo orientovaných aplikácií ponúka voľby/nastavenia atď. umožňujúce automatickú detekciu konvencie konca riadku súboru'a jej zodpovedajúce zobrazenie.
V skutočnosti ide len o to, ktoré bajty sú uložené v súbore. CR
je bytecode pre carriage return (z čias písacích strojov) a LF
podobne pre line feed. Odkazuje len na bajty, ktoré sú umiestnené ako značky konca riadku.
Viac informácií nájdete ako vždy na wikipédii.
Systémy založené na ASCII alebo a kompatibilnej znakovej sade používajú buď LF (podávanie riadkov, 0x0A, 10 v desiatkovej sústave) alebo CR (Carriage return, 0x0D, 13 v desiatkovej sústave) samostatne, alebo CR nasledovaný LF (CR+LF, 0x0D 0x0A); Tieto znaky sú založené na príkazoch tlačiarne: Podávanie riadkov znamenal, že jeden riadok papiera sa má podať z tlačiarne a návrat vozíka označoval, že tlačiareň vozík má vrátiť na začiatok aktuálneho riadku.
Tu sú podrobnosti.