Подтвердить что ты не робот

Возвращается ли каретка Windows\r\n из двух символов или одного символа?

Возврат каретки Windows \r\n, в то время как это \n в Unix, \r\n обрабатывается как два символа?

4b9b3361

Ответ 1

Это два символа:

  • \r - возврат каретки;
  • \n - строка.

Два символа вместе представляют новую строку в Windows. Если в Linux, \n представляет новую строку. Он перемещает курсор в начало новой строки в Linux. В Windows курсор останется на том же столбце в консоли, но на следующей строке.

\r в Linux имеет тот же эффект, что и в Windows: перемещает курсор в начало строки. Можно напечатать различную информацию в той же строке, где \r используется вместо \n.

Ответ 2

На самом деле \r is 0x0D (^M) and \n is 0x0A (^J), но..... на окнах:

\n will write 0x0D 0x0A

в unix:

\r will write 0x0D
\n will write 0x0A

Ответ 3

Зависит от настройки. \r\n имеет ширину в два байта (в ASCII, UTF-8 и т.д.), но библиотеки ввода-вывода, такие как библиотека C stdio, и другие, при работе в текстовом режиме, могут переводить между \n и \r\n квази -transparently.

I.e., на платформе Windows, программа C, читающая текстовый поток txt_in с

while ((c = getc(txt_in)) != EOF)
    printf("%02x\n", c);

не сообщит код ASCII для \r. И наоборот, putc('\n', txt_out) фактически напишет \r\n в поток текстового режима txt_out.

Ответ 4

Windows не различает \r\n и любые другие два символа. Тем не менее, есть одна ситуация, когда она рассматривается как один символ: если вы используете время выполнения C и открываете файл в виде текста, \r\n в файле будет считаться как \n, а \n будет записано в файл как \r\n.

Ответ 5

Да, это два символа: возврат каретки '\ r', за которым следует linefeed '\n'.

Ответ 6

Я провел несколько тестов (ничего не придумал) с Notepad ++ и Sublime Text 2 в Windows, и получается, что \r и \n действительно являются 2 разными символами, но...

Различные текстовые редакторы могут вставить или они могут не вставлять \r, когда нажата клавиша Return.

Попробуйте следующее в текстовом редакторе:

1
2
3
4
5

Затем нажмите Ctrl + F, включите регулярные выражения и выполните поиск \r. В зависимости от вашего текстового редактора и его настроек вы можете "ударить" или "не ударить" персонажа в конце каждой строки. Если вышеуказанный текст скопирован в другом редакторе, поведение может также отличаться...

Некоторые текстовые редакторы допускают настройки в своих настройках, где вы можете указать, хотите ли вы вставить \r\n или unix-style \n при нажатии Return. Кроме того, они могут позволить вам выбрать обеспечить соблюдение согласованного стиля путем удаления или вставки символа \r перед сохранением файла.