Бих искал да знам каква е разликата (с примери, ако е възможно) между типовете прекъсване на реда CR LF (Windows), LF (Unix) и CR (Macintosh).
CR и LF са контролни знаци, кодирани съответно с 0x0D
(13 десетични знака) и 0x0A
(10 десетични знака).
Те се използват за маркиране на прекъсване на ред в текстов файл. Както посочихте, Windows използва два символа CR LF последователност; Unix използва само LF, а старата MacOS ( преди OSX MacIntosh) използва CR.
Апокрифна историческа перспектива:
Както е посочено от Петър, CR = Carriage Return и LF = Line Feed, два израза, които водят началото си от старите пишещи машини / TTY. LF придвижва хартията нагоре (но запазва хоризонталното положение идентично), а CR връща "каретата", така че следващият набран символ да бъде на най-лявата позиция на хартията (но на същия ред). CR+LF извършваше и двете действия, т.е. подготвяше се за въвеждане на нов ред. С течение на времето физическата семантика на кодовете беше неприложима, а тъй като паметта и мястото на дискетите бяха на привършване, някои дизайнери на операционни системи решиха да използват само един от символите, просто те не комуникираха много добре помежду си ;-)
Повечето съвременни текстови редактори и текстово-ориентирани приложения предлагат опции/настройки и т.н., които позволяват автоматично откриване на конвенцията за край на реда във файла'и съответното й изобразяване.
Всъщност става въпрос само за това кои байтове се съхраняват във файла. CR
е байткод за връщане на карета (от времето на пишещите машини), а LF
- за подаване на ред. Той просто се отнася за байтовете, които се поставят като маркери за край на реда.
Повече информация, както винаги, можете да намерите в wikipedia.
Системи, базирани на ASCII или a съвместим набор от символи използват или LF (подаване на реда, 0x0A, 10 в десетична система) или CR (връщане на карета, 0x0D, 13 в десетична система) самостоятелно, или CR, последвано от LF (CR+LF, 0x0D 0x0A); Тези знаци се основават на командите на принтера: Подаването на реда показва, че един ред от хартия трябва да се подаде от принтера, а връщане на каретата показва, че принтерът каретата трябва да се върне в началото на текущия ред.
Ето и подробности.