1。
字符串转换为字节数组,你需要指定编码,不同的编码,输出的字节数组是不一样的,
同时,读取的时候,也要使用对应的编码,否则非拉丁字符会乱出现乱码
string str = "hello world";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(str);
char[] chars = System.Text.Encoding.UTF8.GetChars(buffer);
chars = str.ToCharArray(); // 此方法内部使用 Unicode 编码
// byte[] buffer = System.Text.Encoding.GetEncode("GB2312").GetBytes(str);
//char[] chars = (char[])buffer; // CS0030: 无法将类型“byte[]”转换为“char[]”
chars = new char[buffer.Length];
Array.Copy(buffer, chars, buffer.Length); // 直接拷贝隐式转换
2。
事实上,如果你进行写字符串,可以选择 StreamWriter
string str = "hello world";
using(System.IO.FileStream fstream = new System.IO.FileStream("C://somefile")) {
System.IO.StreamWriter writer = new System.IO.StreamWriter(fstream);
writer.Write(str);
}