byte[] buf 已经是定义了...以数组的形式定义 Encoding.Default.GetBytes( txtContent.Text ); 是将txtContent.Text 转为二进制序列...
解决方案 »
- C# 中执行socket.beginsend一段时候后,就不执行里面的回调方法了
- dataGridView 整行选中问题
- 小女子初学C#,弱弱的请求高手帮忙解答
- c#平台互操作问题,调用C++dll,100分小送。
- visual studio设计界面看到图片,但程序运行看不到?
- 每个线程分别更改同一数组的不同数组元素,需要锁定么?
- 网页中如何弹出一个"打开"对话框然用户选择多个文件一起提交上传?
- C# 请教解析HTML的思路方法
- 关于数组查询和文件流的问题
- C#中在TabControl中加入WebBrowse控件为什么不能正确使用?
- 大家帮忙看下这段代码有什么问题?????
- 怎么样改变菜单 让文字靠左边近一点
byte[] buf=new byte[10000]; //声明一个长度为10000的字节数组当然也可以这样:
byte[] buf = Encoding.Default.GetBytes( txtContent.Text ); //声明字节数组并初始化赋值
byte[] byte1 = new byte[10];
byte[] byte2 = byte1 //只是获得byte1的引用
如果不是用 Encoding.Default.GetBytes(str)的话,如果str 是汉字(也就是双字节的字符)
那么得到的长度就是2,这样的话就得不到一个完整的汉字;
如果用了 Encoding.Default.GetBytes()的话就是1,这样的话就可以得到正确的长度.如:
string str="Chn中国人";
int Len1=str.Length; //Len1=6;
int Len2= Encoding.Default.GetBytes(str).Length; //Len2=9,一个汉字两个字符;如果不用Encoding.Default.GetBytes()的话那你的buf如果想装下全部汉字的十六进制数值就溢出了.不知道说明白了没