如何使用unix行结尾将字符串转换为字节?

如果我使用以下方法将字符串转换为字节

byte[] ascii = new System.Text.ASCIIEncoding().GetBytes(myString); 

然后我得到的字节使用Windows行结尾。 如何使用Unix行结尾转换它?

行结尾独立于编码。 如果要将Windows行结尾转换为Unix行结尾,请在字符串本身中执行此操作:

 myString = myString.Replace("\r\n", "\n"); 

我个人避免使用ASCII,顺便说一下 – 你绝对相信它永远不会需要任何重音字符吗? 如果我做出选择,我通常使用UTF-8:

 myString = myString.Replace("\r\n", "\n"); byte[] bytes = Encoding.UTF8.GetBytes(myString); 

如果您正在某处写入流,则可以使用StreamWriterFile.CreateText等。然后指定编码一次,但不需要自己处理原始字节。

 string myString = @"line 1 line 2"; byte[] ascii = new System.Text.ASCIIEncoding().GetBytes(myString.Replace(Environment.NewLine, "\n"));