Что означает CR + LF?
CR LF означает «возврат каретки, перевод строки» - это пережиток DOS из былых времен, когда некоторым устройствам требовался возврат каретки, а некоторым устройствам требовался перевод строки для получения новой строки, поэтому Microsoft решила просто сделать новую - В строке есть оба символа, чтобы они корректно выводились на всех устройствах.
Программы Windows ожидают формат новой строки в CRLF (\r\n
). * nix ожидает только данных LF (\n
). Если вы откроете текстовый документ Unix в Блокноте в Windows (ранее, чем Windows 10 build 1903, выпущенная в мае 2019 года, в которой была добавлена поддержка окончаний строк Unix), вы заметите, что все разрывы строк исчезают, и весь документ находится в одной строке. Это потому, что Блокнот ожидает данные CRLF, а документ Unix не имеет \r
персонаж.
Существуют приложения, которые конвертируют это за вас в стандартный дистрибутив * nix (dos2unix
и unix2dos
)
Для тех, кому интересно, возврат каретки и перевод строки отличаются от того, что было во времена пишущих машинок, когда возврат каретки и перевод строки были двумя разными вещами. Один перенесет вас в начало строки (возврат каретки), а другой переместит вас на одну строку ниже, но в том же горизонтальном положении (перевод строки)
Это возврат каретки (\r
, Код ASCII 13), за которым следует перевод строки (\n
, Код ASCII 10).