CR с последующим LF - PullRequest
       11

CR с последующим LF

0 голосов
/ 05 августа 2011

Я прочитал несколько статей о разнице между возвратом каретки (CR) и переводом строки (LF). Насколько мне известно, они одинаковы при создании новой строки. Но когда я собираю их вместе, как \ r \ n, смена строки происходит только один раз. Когда я изменяю там порядок вроде \ n \ r или вставляю между ними что-то вроде \ rblablabla \ n, смена строки происходит дважды. Кто-нибудь может сказать мне, почему? Это потому, что моя ОС Windows видит CR, за которым сразу следует LF, как один escape-символ?

Ответы [ 2 ]

1 голос
/ 05 августа 2011

CR и LF - просто символы. В игру вступает еще одна концепция: newlines , соглашение, используемое в вычислительной системе для определения начала новой строки. Некоторые из основных сделанных выборов - просто LF, как в Unix; просто CR, как в MacOS (до OS X); и CRLF, в MSDOS, а затем и в Windows.

Полезные инструменты часто будут терпимы и принимают другие формы, отличные от стандарта ОС. Вы видите это в языках программирования (например, Python) и многих текстовых редакторах. Таким образом, происходит то, что используемый вами инструмент поддерживает больше, чем просто CRLF в качестве новой строки. Поскольку LFCR отличается от CRLF, он рассматривается как две новые строки. Я не думаю, что это на уровне Windows, но конкретные приложения; Например, Блокнот не может показать файл с использованием LF каким-либо полезным способом.

0 голосов
/ 05 августа 2011

Я полагаю, что Windows распознает CR, LF и CRLF, но не LFCR, поэтому интерпретируется (из-за отсутствия лучшего слова) как LF, а затем CR, что приводит к двум конечным строкам.Кто-нибудь прокомментирует и исправит меня, если я ошибаюсь, просто рискну догадаться

...