C# 以随机编码方式获取换行符

C# 以随机编码方式获取换行符,c#,text,encoding,C#,Text,Encoding,我给不同文化的人发了一些电子邮件。数据来自采用适当编码的文件。但是,我需要阅读前几行来处理它们(获取主题等) 因此,我: 然而,我不知道我应该做什么来获得newline的适当值。每个编码都不同,我不能使用Environment.NewLine,因为我需要用于电子邮件收件人特定编码的换行符,而不是web服务器的编码。您仍在处理文本,因此不需要担心编码(字符数据的二进制表示的转换)。您可能需要担心的是“新行”在字符方面的不同表示 现在还不清楚你最终用什么来发送邮件——我希望不管你用什么都能帮你解决一

我给不同文化的人发了一些电子邮件。数据来自采用适当编码的文件。但是,我需要阅读前几行来处理它们(获取主题等) 因此,我:

然而,我不知道我应该做什么来获得newline的适当值。每个编码都不同,我不能使用Environment.NewLine,因为我需要用于电子邮件收件人特定编码的换行符,而不是web服务器的编码。

您仍在处理文本,因此不需要担心编码(字符数据的二进制表示的转换)。您可能需要担心的是“新行”在字符方面的不同表示

现在还不清楚你最终用什么来发送邮件——我希望不管你用什么都能帮你解决一切问题。但是,将行定义为用CRLF(“\r\n”)分隔,因此我将使用它


当然,如果您同时发送一个HTML版本的文本,那么它将包含用于行/段分隔的HTML标记。

您可能需要逐行阅读,这样您就不会太在意编码问题:

  while ((line = File.ReadLine()) != null)
  {
      if (line != String.Empty)
         lines += line + Environment.NewLine;
  }

太好了。”\n'是一个字符,不是编码。从字体->字形->字符->代码->编码,有相当多的堆栈,很难跟踪!!对于将来阅读的任何人,我刚刚加入了\n,一切都很好(RFC822由我正在使用的底层电子邮件基础结构处理)
  while ((line = File.ReadLine()) != null)
  {
      if (line != String.Empty)
         lines += line + Environment.NewLine;
  }