Получить новую строку в случайной кодировке - PullRequest
4 голосов
/ 25 июля 2011

Я посылаю электронное письмо людям разных культур. Данные поступают из файла в соответствующей кодировке. Тем не менее, мне нужно прочитать первые несколько строк, чтобы обработать их (получить тему и т. Д.) Итак, я делаю:

 var lines = File.ReadAllLines(filename, encoding);
 ... read first few lines up to blank...
 lines = String.Join(newline, lines.skip(lineNum));

Однако я не знаю, что мне делать, чтобы получить соответствующее значение новой строки. Это отличается для каждой кодировки, и я не могу использовать Environment.NewLine, потому что мне нужна новая строка для конкретной кодировки получателя электронной почты, а не кодировки веб-сервера.

Ответы [ 2 ]

4 голосов
/ 25 июля 2011

Вы по-прежнему имеете дело с text , поэтому вам не нужно беспокоиться о кодировках (преобразованиях в / из двоичных представлений символьных данных). Что вам нужно потенциально нужно беспокоиться, так это различные представления «новой строки» в терминах символов .

Непонятно, что вы в конечном итоге используете для отправки почты, - я думаю, что бы вы ни использовали, вы все равно сможете все уладить. Однако RFC 822 определяет строки как разделенные CRLF ("\ r \ n"), поэтому я бы использовал это.

Конечно, если вы также отправляете HTML-версию текста, она все равно будет содержать HTML-теги для разделения строк / абзацев.

1 голос
/ 25 июля 2011

Возможно, вам придется читать его построчно, чтобы вас не волновала проблема с кодировкой:

  while ((line = File.ReadLine()) != null)
  {
      if (line != String.Empty)
         lines += line + Environment.NewLine;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...