如何使用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);
如果您正在某处写入流,则可以使用StreamWriter
或File.CreateText
等。然后指定编码一次,但不需要自己处理原始字节。
string myString = @"line 1 line 2"; byte[] ascii = new System.Text.ASCIIEncoding().GetBytes(myString.Replace(Environment.NewLine, "\n"));