Каковы различия между возвратом каретки, подачей линии и новой линией? Это зависит от ОС? Почему мы должны использовать их все только для перехода к следующей строке?
Возврат каретки, подача линии и новая линия
Ответ 1
Как правило, "новая строка" относится к любому набору символов, который обычно интерпретируется как сигнализация новой строки, которая может включать в себя:
- CR LF в DOS/Windows
- CR на старых компьютерах Mac
- LF в вариантах Unix, включая современные Mac
CR - это символ ASCII возврата каретки (код 0x0D), обычно представленный как \r. LF - символ линии (Code 0x0A), обычно представленный как \n.
Для компьютеров с оригинальной машиной на пишущей машинке нужны оба этих символа, которые выполняют именно то, что они говорят: CR возвратил карету в левую сторону бумаги, LF подал ее одной строкой. Windows сохранила эту последовательность без изменений, в то время как варианты Unix решили использовать более эффективное использование символов, когда они были необходимы только символически.
Убедитесь, что вы ищете новый атрибут или функцию для платформы - агностик, если вам нужно представить эту последовательность в коде. Если нет, по крайней мере, убедитесь, что вы учитываете вышеупомянутые три варианта.
Подробнее об истории: http://www.codinghorror.com/blog/2010/01/the-great-newline-schism.html