关于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个字符,请问大家,这是什么原因。
展开
 我来答
ice1835
2012-01-04
知道答主
回答量:21
采纳率:0%
帮助的人:17.1万
展开全部
Encoding.UTF8.GetBytes() 返回的是一个 byte[]
d会被重新定义和赋值 变成 byte[8]
追问
那照你的意思,变量d的长度随时会被重新定义,是否只需要定义d为字节数组,不用指定长度,一般定义一个缓冲区的时候也同样只需要定义为字节数组,不用指定长度,是这个意思吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-04
展开全部
d=Encoding.UTF8.GetBytes(mystr);这一行加个断点 然后添加监视 看看d的长度有没有变就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式