社区
C#
帖子详情
有没有人知道,如何用C#处理2进制字符串
常宁
2002-04-19 02:46:02
我需要用Socket接收一个数据流,对方是C++,用Socket发送过来一个Buffer,是一个结构体,aaa是一个结构体,buf是发送给我的内容。memcpy(buf,aaa,sizeof(aaa));
我如何用C#接收并处理这个结构体,并取出结构体内的值?
...全文
91
15
打赏
收藏
有没有人知道,如何用C#处理2进制字符串
我需要用Socket接收一个数据流,对方是C++,用Socket发送过来一个Buffer,是一个结构体,aaa是一个结构体,buf是发送给我的内容。memcpy(buf,aaa,sizeof(aaa)); 我如何用C#接收并处理这个结构体,并取出结构体内的值?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
常宁
2002-06-11
打赏
举报
回复
结帖
norzss
2002-06-03
打赏
举报
回复
13888657,写错了
norzss
2002-06-03
打赏
举报
回复
hoho,13888567
大家多多交流啦:)
常宁
2002-04-26
打赏
举报
回复
to norzss(zss)
如果能留下QQ号码,这100分就是你的
:)
常宁
2002-04-25
打赏
举报
回复
to okokwukai(不老仙翁)
能不能说的详细些,你说的我早就知道了,但问题是如何方便开发
norzss
2002-04-25
打赏
举报
回复
按照你说的结构(在c++):
struct abc{
int a;
int b;
int c;
char abc[100];
}
在c#中:bytes为你接收到的字节数组:
struct abc
{
int a;
int b;
int c;
char[] abc;
}
abc tag;
tag.a=BitConverter.ToInt32(bytes,0);
tag.b=BitConverter.ToInt32(bytes,4);
tag.c=BitConverter.ToInt32(bytes,8);
tag.abc=new char[bytes.Length-12];
for(int i=0;i<tag.abc.Length; i++)
{
tag.abc[i]=BitConverter.ToChar(bytes,i+12);
}
快乐的不老仙翁
2002-04-25
打赏
举报
回复
对一个流,你可以将其保存在一个byte[](byte数组)中。不管它是什么,只要你知道其结构,就可以转换。
常宁
2002-04-25
打赏
举报
回复
to norzss(zss) ( )
我没有看懂,能否详细说说看?
对于C#我是新手
常宁
2002-04-25
打赏
举报
回复
to norzss(zss) ( )
我没有看懂,能否详细说说看?
对于C#我是新手
常宁
2002-04-24
打赏
举报
回复
to lonk(小鱼) ( )
不能处理C++的结构体Buffer就没有办法同大多数的C++程序通讯,用你的办法不如用XML了,但是C++那边通常不会用XML解析这样的方法,而用习惯上的Struct这时候我的问题就出现了,所以谢谢你,但是你的方法不能解决问题
norzss
2002-04-24
打赏
举报
回复
看可不可以这样做:
bytes为你接受到的字节数组
BitConverter.ToInt32(bytes,index)
BitConverter.ToString(bytes,index)
这样应该比较方便了吧
常宁
2002-04-23
打赏
举报
回复
struct abc{
int a;
int b;
int c;
char abc[100];
}
可以这样假设,实际的差不多。谢谢
lonk
2002-04-23
打赏
举报
回复
hehe,前面我也问过,结果大家告诉我不要这么弄,
所以我只好用个土方法
string msg=a.ToString();
msg+=b.ToString()+'//';
msg+=c.ToString()+'//';
然后再补上char abc,然后把msg转成byte发出去....
等到接受的时候把msg劈开...
MarsXia
2002-04-22
打赏
举报
回复
写出你的结构体先
常宁
2002-04-22
打赏
举报
回复
没人会?
up!!
C#
二进制读写文件
1. 在使用`BinaryWriter`写入
字符串
时,它会自动写入
字符串
的长度,所以在使用`BinaryReader`读取
字符串
时,它也会读取这个长度信息。 2. 记得使用`using`语句来确保流和读者/写者在完成操作后被正确关闭和清理。 3....
C#
纯源代码实现RSA加解密-没有注释
- 将输入的16进制
字符串
转换为字节数组,因为加密和解密操作通常
处理
字节数据。 - 使用`RSACryptoServiceProvider`的`Encrypt()`和`Decrypt()`方法进行加解密。 - 将结果字节数组转换回16进制
字符串
输出。 5. **...
c#
字符串
编码问题的
处理
解决
C#
字符串
编码问题的
处理
解决
C#
字符串
编码问题的
处理
解决是指在
C#
编程中遇到的
字符串
编码问题的解决方法。
字符串
编码问题是指在计算机内部,所有的信息最终都表示为一个二进制的
字符串
。每一个二进制位(bit)有0和...
C#
用什么方法将BitConverter.ToString产生
字符串
再转换回去
在
C#
编程中,`BitConverter.ToString(byte[])`方法是一个常用工具,它用于将字节数组转换为一个表示每个字节的十六进制
字符串
,每个字节之间由破折号"-"分隔。这个方法在
处理
二进制数据并需要以人类可读的格式展示时...
整数型到二进制文本.rar
例如,可以将二进制数组转换为十六进制
字符串
,或者直接使用ASCII码表示每个二进制位。例如,二进制数1010可以表示为ASCII字符'A',因为1010对应的八进制数是12,而'A'的ASCII码是65(1010101)。 5. **二进制文件*...
C#
111,119
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章