Форма окна представляет собой контейнер для пользовательских элементов управления.
Я бы использовал слово « r etur n », чтобы помнить, что r стоит перед n.
Если вы используете C #, вы должны использовать Environment.NewLine
, что, в соответствии с MSDN, это:
Строка, содержащая «\ r \ n» для не-Unix платформ или строка, содержащая "\ n" для платформ Unix.
Последовательность: CR (возврат каретки) - LF (перевод строки). Помните матричные принтеры? Именно так. Итак - правильный порядок \ r \ n
Новая строка зависит от вашей ОС:
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 Электронная подача
В любом языке .NET предпочтительным является Environment.NewLine
.
Будьте осторожны с этим вручную.
Фактически, я бы посоветовал не делать это вообще.
На самом деле речь идет о последовательности завершения строки LTS, специфичной для платформы.
Если вы откроете файл в текстовом режиме (т.е. не в двоичном), то потоки преобразуют «\ n» в правильный LTS для вашей платформы. Затем преобразуйте LTS обратно в "\ n" при чтении файла.
В результате, если вы напечатаете «\ r \ n» в файл Windows, вы получите последовательность «\ r \ r \ n» в физическом файле (посмотрите с помощью шестнадцатеричного редактора).
Конечно, это настоящая боль при передаче файлов между платформами.
Теперь, если вы пишете в сетевой поток, я бы сделал это вручную (так как большинство сетевых протоколов это специально называют). Но я хотел бы убедиться, что поток не выполняет никакой интерпретации (поэтому двоичный режим был уместен).
Из Википедии (в этой статье вы можете прочитать, какая версия подходит для вашей ОС):
Системы, основанные на ASCII или совместимом наборе символов, используют либо LF (перевод строки). , '\ n', 0x0A, 10 в десятичном виде) или CR (возврат каретки, '\ r', 0x0D, 13 в десятичном формате) по отдельности или CR, за которым следует LF (CR + LF, '\ r \ n', 0x0D0A) .
Если вы используете C #, почему бы не использовать Environment.NewLine
? (Я предполагаю, что вы используете некоторые объекты записи файлов ... просто передайте ему Environment.NewLine
, и он будет обрабатывать правильные терминаторы.
\r\n
kbd> Странно сказать, я помню это, потому что это противоположность пишущей машинке , которую я использовал.
Ну, если бы это было нормально, мне не нужно было бы помнить это ... :-)
* sup> Изображение из Википедии sup>
В пишущей машинке, когда вы заканчиваете оцифровку строки, вы используете рычаг возврата каретки , который до того, как катит барабан, перевод строки , и Позволяет вручную управлять возвратом каретки .
Вы можете прослушать из этой записи на freesound.org звук подачи бумаги в начале и примерно через -1: 03 секунды после конца, после предупреждения о звонке Звук конца строки барабана, который катится и после того, как возврат каретки.