Mac OS Lion переключился на использование перевода строки (LF '\n') для разрыва строки вместо возврата каретки (CR '\r')?
Я переключился на Lion некоторое время назад и просто заметил, что когда я сохраняю текстовый файл в TextEdit, он использует LF для разрывов строк. Я оглядывался повсюду, где только мог придумать на своем компьютере Lion, и не мог найти никаких доказательств того, что файлы используют CR для разрывов строк, хотя я помню, что Mac всегда использовал CR, несмотря на то, что Unix использовал LF, а Windows использовал CR+LF. Когда я узнал, что OS X основана на Unix, я даже проверил свой Snow Leopard и был разочарован тем, что он использовал CR.
Так Lion переключился на использование LF?
Самое странное, что я искал по всей сети и не могу найти никаких доказательств того, что Лев использовал LF.
1 ответ
Я помню, что Mac всегда использовал CR, несмотря на то, что Unix использовал LF, а Windows использовал CR+LF
Ваша память из старых добрых времен, хотя: Mac OS X, так как POSIX-совместимый Unix использует типичный Unix LF
,
CR
это реликт из "классической" Mac OS, он больше не используется.
Например, проверьте страницу руководства unix2dos
(выделение мое):
В текстовых файлах DOS/Windows разрыв строки, также известный как перевод строки, представляет собой комбинацию двух символов: возврат каретки (CR), за которым следует перевод строки (LF). В текстовых файлах Unix разрыв строки - это один символ: перевод строки (LF). В текстовых файлах Mac до Mac OS X разрыв строки был одним символом возврата каретки (CR). В настоящее время Mac OS использует разрывы строк в стиле Unix (LF).
Еще более авторитетный справочник: Shell Scripting Primer: Разработка сценариев для кроссплатформенного развертывания
Инструменты командной строки в Mac OS X (и других вариантах UNIX или Linux) используют окончания строки в стиле UNIX. Это означает, что каждая строка в текстовом файле заканчивается символом новой строки (символ 10/0xA, часто сокращенно LF).
Многие старые Mac-приложения используют окончания строк в стиле "Mac". Это означает, что каждая строка в текстовом файле заканчивается символом возврата каретки (символ 13/0xD, часто сокращенно CR).