Я просто не могу их запомнить. Итак, каков правильный способ правильного завершения старомодных линий ASCII?
Напоминание -\r\n или\n\r?
Ответ 1
Я бы использовал слово " r etur n ', r перед n.
Ответ 2
Если вы используете С#, вы должны использовать Environment.NewLine
, что соответствует MSDN:
Строка, содержащая "\ r\n" для платформ, отличных от Unix, или строку, содержащую "\n" для платформ Unix.
Ответ 3
Новая строка зависит от вашей ОС:
DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
Подробнее здесь: https://ccrma.stanford.edu/~craig/utility/flip/
Если вы сомневаетесь, используйте любой бесплатный просмотрщик/редактор шестнадцатеричных файлов, чтобы увидеть, как файл кодирует новую строку.
Для меня я использую следующее руководство, чтобы помочь мне запомнить: 0D0A =\r\n = CR, LF = ca rr iage r eturn, li n e feed
Ответ 4
Последовательность CR (возврат каретки) - LF (подача строки). Помните матричные принтеры? В точку. Итак - правильный порядок:\r\n
Ответ 5
В любом .NET langauge предпочтительнее Environment.NewLine
.
Ответ 6
Будьте осторожны с этим вручную.
На самом деле я бы посоветовал не делать это вообще.
В действительности мы говорим о последовательности завершения строки LTS, которая специфична для платформы.
Если вы откроете файл в текстовом режиме (то есть не бинарный), потоки преобразуют "\n" в правильный LTS для вашей платформы. Затем, когда вы читаете файл, преобразуйте LTS обратно в "\n".
В результате, если вы напечатаете "\ r\n" в файл Windows, вы получите последовательность "\ r\r\n" в физическом файле (посмотрите с шестнадцатеричным редактором).
Конечно, это настоящая боль, когда речь идет о передаче файлов между платформами.
Теперь, если вы пишете сетевой поток, я бы сделал это вручную (как это обычно называют большинство сетевых протоколов). Но я бы удостоверился, что поток не делает никакой интерпретации (поэтому двоичный режим был подходящим).
Ответ 7
\r\n
для Windows будет отлично.
Ответ 8
Из Wikipedia (вы можете прочитать, что правильно для вашей ОС в этой статье):
Системы на основе ASCII или совместимые набор символов используют либо LF (Line feed, '\n', 0x0A, 10 в десятичной системе) или CR (Возврат каретки, '\ r', 0x0D, 13 в десятичная), или CR по LF (CR + LF, '\ r\n', 0x0D0A).
Ответ 9
\r\n
Неверно сказать, что я помню это, потому что это противоположность пишущей машинки, которую я использовал.
Ну, если это было нормально, мне не нужно было это помнить... :-)
В пишущей машинке, когда вы закончите цифру строки, вы используете рычаг возврата каретки, который перед тем, как сделать рулон барабана, новой строки и после этого, позволит вам вручную управлять возвратом каретки.
Вы можете слушать из этой записи с freesound.org звук подачи бумаги в начале и примерно в -1: 03 секунд от конца, после предупреждения колокола о конце линейного звука барабана, который катится и после возврата каретки.
Ответ 10
если вы используете С#, почему бы не использовать Environment.NewLine
? (я предполагаю, что вы используете некоторые объекты записи файлов... просто передайте его Environment.NewLine
и обработайте правильные терминаторы.