Разлика между видовете прекъсване на реда CR LF, LF и CR?

Бих искал да знам каква е разликата (с примери, ако е възможно) между типовете прекъсване на реда 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 извършваше и двете действия, т.е. подготвяше се за въвеждане на нов ред. С течение на времето физическата семантика на кодовете беше неприложима, а тъй като паметта и мястото на дискетите бяха на привършване, някои дизайнери на операционни системи решиха да използват само един от символите, просто те не комуникираха много добре помежду си ;-)

Повечето съвременни текстови редактори и текстово-ориентирани приложения предлагат опции/настройки и т.н., които позволяват автоматично откриване на конвенцията за край на реда във файла'и съответното й изобразяване.

Коментари (4)
Решение

Всъщност става въпрос само за това кои байтове се съхраняват във файла. CR е байткод за връщане на карета (от времето на пишещите машини), а LF - за подаване на ред. Той просто се отнася за байтовете, които се поставят като маркери за край на реда.

Повече информация, както винаги, можете да намерите в wikipedia.

Коментари (2)

Системи, базирани на ASCII или a съвместим набор от символи използват или LF (подаване на реда, 0x0A, 10 в десетична система) или CR (връщане на карета, 0x0D, 13 в десетична система) самостоятелно, или CR, последвано от LF (CR+LF, 0x0D 0x0A); Тези знаци се основават на командите на принтера: Подаването на реда показва, че един ред от хартия трябва да се подаде от принтера, а връщане на каретата показва, че принтерът каретата трябва да се върне в началото на текущия ред.

Ето и подробности.

Коментари (0)