C#这个byte数组怎么处理?
byte[]Buf=newbyte[100000];//新建一个数组sp.Read(Buf,0,100000);//读到数据//现在我想把Buf中的,连续的两个十六进制2...
byte[] Buf= new byte[100000]; //新建一个数组
sp.Read(Buf, 0, 100000); //读到数据
//现在我想把Buf中的,连续的两个十六进制20 08删除,再现继续下面的,怎么做?
string s= System.Text.Encoding.Default.GetString(Buf);//转换为可以显示的字符
TextBox1.AppendText(s);//附加到TextBox1中 展开
sp.Read(Buf, 0, 100000); //读到数据
//现在我想把Buf中的,连续的两个十六进制20 08删除,再现继续下面的,怎么做?
string s= System.Text.Encoding.Default.GetString(Buf);//转换为可以显示的字符
TextBox1.AppendText(s);//附加到TextBox1中 展开
1个回答
展开全部
你可以换个思路,先把0x20,0x08组成的byte数组转换为字符串toRemoveString ,然后将buf转换的字符串中的toRemoveString 替换掉。
byte[] toRemove = { 0x20, 0x8 };
string toRemoveString = Encoding.Default.GetString(toRemove);
byte[] Buf= new byte[100000];
sp.Read(Buf, 0, 100000);
string reuslt = Encoding.Default.GetString(buf).Replace(toRemoveString, string.Empty);
TextBox1.AppendText(reuslt )
byte[] toRemove = { 0x20, 0x8 };
string toRemoveString = Encoding.Default.GetString(toRemove);
byte[] Buf= new byte[100000];
sp.Read(Buf, 0, 100000);
string reuslt = Encoding.Default.GetString(buf).Replace(toRemoveString, string.Empty);
TextBox1.AppendText(reuslt )
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询