请问,输出流向文本输出汉字该怎么写?
byte[] byData;
char [] charData;
string str;
FileStream aFile = new FileStream("../../../../设计/数据库/zx.txt", FileMode.Open);
str = "这个是点";
charData = str.ToCharArray();
byData = new byte[charData.Length];
Encoder e = Encoding.UTF8.GetEncoder();
e.GetBytes(charData, 0, charData.Length, byData, 0, true);
aFile.Seek(3, SeekOrigin.Begin);
aFile.Write(byData, 0, byData.Length);
我是这样写的但是程序跳出说字节缓冲区太小,请问该怎么修改
byte[] byData;
char [] charData;
string str;
FileStream aFile = new FileStream("../../../../设计/数据库/zx.txt", FileMode.Open);
str = "这个是点";
charData = str.ToCharArray();
byData = new byte[charData.Length];
Encoder e = Encoding.UTF8.GetEncoder();
e.GetBytes(charData, 0, charData.Length, byData, 0, true);
aFile.Seek(3, SeekOrigin.Begin);
aFile.Write(byData, 0, byData.Length);
我是这样写的但是程序跳出说字节缓冲区太小,请问该怎么修改
byData = new byte[charData.Length]; new 的内存太小, charData.Length 在这里等于44个汉字UTF8编码需要12个字节的空间,你把12也字节要写到4个字节的空间里
当然缓冲区太小了。