关于C#字节数组byte[]填充问题
FileStreamfs=newFileStream("c:\\abc.txt",FileMode.Create);stringmystr="chinaren";Byte...
FileStream fs = new FileStream("c:\\abc.txt", FileMode.Create);
string mystr = "chinaren";
Byte[] d = new Byte[5];
d=Encoding.UTF8.GetBytes(mystr);
fs.Write(d, 0, d.Length);
fs.Close();
我把字节数组d定义了5个字节的长度,但是通过Encoding.UTF8.GetBytes(mystr)转换成8个字节长度,把这8个字节长度的数据放入5个字节数组d,没有报错和益出,打开c:\abc.txt文件,确实保存了chinaren这8个字符,请问大家,这是什么原因。 展开
string mystr = "chinaren";
Byte[] d = new Byte[5];
d=Encoding.UTF8.GetBytes(mystr);
fs.Write(d, 0, d.Length);
fs.Close();
我把字节数组d定义了5个字节的长度,但是通过Encoding.UTF8.GetBytes(mystr)转换成8个字节长度,把这8个字节长度的数据放入5个字节数组d,没有报错和益出,打开c:\abc.txt文件,确实保存了chinaren这8个字符,请问大家,这是什么原因。 展开
展开全部
Encoding.UTF8.GetBytes() 返回的是一个 byte[]
d会被重新定义和赋值 变成 byte[8]
d会被重新定义和赋值 变成 byte[8]
追问
那照你的意思,变量d的长度随时会被重新定义,是否只需要定义d为字节数组,不用指定长度,一般定义一个缓冲区的时候也同样只需要定义为字节数组,不用指定长度,是这个意思吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-04
展开全部
d=Encoding.UTF8.GetBytes(mystr);这一行加个断点 然后添加监视 看看d的长度有没有变就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询