如果我使用:
将字符串转换为字节byte[] ascii = new System.Text.ASCIIEncoding().GetBytes(myString);
然后我得到的字节使用Windows行结尾。如何使用Unix行结尾转换它?
答案 0 :(得分:9)
行结尾与编码无关。如果要将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
等。然后您指定编码一次但不需要自己处理原始字节
答案 1 :(得分:2)
string myString = @"line 1
line 2";
byte[] ascii = new System.Text.ASCIIEncoding().GetBytes(myString.Replace(Environment.NewLine, "\n"));