Сколько байтов \n\r?

У меня есть приложение.NET, которое пробует к ftp файл, но я заканчиваю с 1 дополнительным байтом на строку. Моим разделителем строки является Среда. NewLine, которому я верю, переводит в \n\r. Сколько байтов это?

7
задан Alexander 6 November 2012 в 17:53
поделиться

7 ответов

Это 2 байта, но это должно быть \ r \ n , а не \ n \ r в ОС Windows

9
ответ дан 6 December 2019 в 04:50
поделиться

Зависит от кодировки. В 8-битных кодировках, а также в UTF-8 это 2 байта. В UCS-2 или UTF-16 это 4 байта. В UCS-4 или UTF-32 это 8 байтов.

Но проблема в том, что вы, вероятно, используете FTP-протокол в режиме ASCII, а не в режиме IMAGE.

32
ответ дан 6 December 2019 в 04:50
поделиться

Два байта. Один для \ n и один для \ r.

2
ответ дан 6 December 2019 в 04:50
поделиться

В кодировке ASCII \n - это символ новой строки 0x0A (десятичная 10), \r - символ возврата каретки 0x0D (десятичная 13).

Как уже сказал Джек, правильная последовательность - CR-LF, а не наоборот.

FTP, вероятно, добавляет символы LF в ваш поток, если они расположены неправильно, и вы передаете файл как Текст.

4
ответ дан 6 December 2019 в 04:50
поделиться

Чтобы ответить на подразумеваемый вопрос:

Чтобы использовать бинарный, а не аси-трансфер в C#, используйте

FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://example.com"));
reqFTP.UseBinary = true;
2
ответ дан 6 December 2019 в 04:50
поделиться

\ n \ r составляет 2 байта.

1
ответ дан 6 December 2019 в 04:50
поделиться

Программное обеспечение FTP обычно предлагает двоичный и текстовый режим передачи. В текстовом режиме во время передачи происходит перевод новой строки. Это может быть достоверной информацией, в зависимости от того, в чем заключается ваша проблема и почему вы задали этот вопрос.

0
ответ дан 6 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: