Следует ли использовать возврат каретки \ r и новую строку \ n всегда вместе? \ Г \ п - PullRequest
8 голосов
/ 03 ноября 2008

В JavaScript это была проблема кросс-браузерной совместимости, поэтому оба были использованы, но на разных языках есть многочисленные экземпляры, где я вижу оба распечатанных вместе как \ r \ n. Является ли это все еще общепринятой нормой, что вы должны всегда использовать оба, или когда-нибудь языки понимают оба, и в итоге вы получаете перерыв и возврат?

Ответы [ 2 ]

8 голосов
/ 03 ноября 2008

Пара CRLF - это ожидаемый маркер конца строки (EOL) в большинстве интернет-протоколов.

Здесь должен применяться «Принцип устойчивости» Постеля. Будьте либеральны в том, что вы принимаете, но строго в том, что вы посылаете. Итак, будьте готовы получить только LF, но если вы отправляете данные, используйте все, что требуется соответствующими стандартами.

2 голосов
/ 03 ноября 2008

Это не проблема совместимости языка, а проблема файла или протокола. В отношении файлов: Unix использует \ n в качестве возврата каретки, Windows использует \ r \ n, и я думаю, что MacOS использовал (сейчас не уверен) \ r. Многие «кроссплатформенные» языки абстрагируют это в зависимую от платформы переменную. В отношении протокола: что указывает протокол.

...