这个字节数组由字符串和二进制数据组成,前端是字符串,后段时二进制数据,他们的分隔是四个连续的回车符,怎样把字符串和二进制数据分别提取出来?谢谢
解决方案 »
- bool类型的值为null 传不了参数
- 寻问个asp.net的问题 关于自动带出数据库中的一个字段
- winform xml读取路径问题!
- 如何用正则表达式判断字符串中是否具有重复字符
- 关于c#页面加载时确定和取消问题(web)
- System.Data.SqlClient.SqlException: 将数据类型 varchar 转换为 numeric 时出错。
- HttpServer问题,怎么接受信息
- c# udp时快时慢的问题,请高手指点。。。。。。
- .net 4.0+ibatis1.9.2+MSSQL 2008R2配置出错,不知哪位大侠有类似经验,真心请教
- 谁知道微软的活动目录编程接口?
- DataGrid邦定方法?
- (C#)关于TreeView控件和一大堆控件的问题!!!
如果字符串不是定长的,那就没有什么好办法了,自己一个一个的取吧,呵呵.
byte[] bytes2 = new byte[]{1,33,23,3,0,56,55,235,5};//二进制数 byte[] bytes = new byte[bytes1.Length + bytes2.Length];
//合并二进制流
MemoryStream ms = new MemoryStream(bytes);
ms.Write(bytes1,0, bytes1.Length);
ms.Write(bytes2,0, bytes2.Length);
int count = 0,pos = 0;
//开始找四个'\n'
for(int i=0; i<bytes.Length; i++)
{
if (bytes[i] == (int)'\n')
{
count++;
if( count == 4)
{
pos -= 4;
break;
}
}
} if (count == 4)
{
//这里,bytes字节数组里从0 到 pos 的位置就是你要的字符串
//从pos + 5 开始到最后,就是你要的二进制
}
{
pos -= 4; //这里要改为 ===> pos = i - 4;打太快了,不好意思哦。
break;
}
群建立不久,还望大家多多支持