社区
C#
帖子详情
有没有人知道,如何用C#处理2进制字符串
常宁
2002-04-19 02:46:02
我需要用Socket接收一个数据流,对方是C++,用Socket发送过来一个Buffer,是一个结构体,aaa是一个结构体,buf是发送给我的内容。memcpy(buf,aaa,sizeof(aaa));
我如何用C#接收并处理这个结构体,并取出结构体内的值?
...全文
70
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#
中byte数组0x_c# - byte []到十六进制
字符串
c# - byte []到十六进制
字符串
这个问题在这里已有答案:如何将字节数组转换为十六进制
字符串
,反之亦然? 39个答案我怎么将byte[]转换成string? 我每次尝试都会得到System.Byte[]而不是价值。另外,我如何获得十六...
C#
中2,10,16进制及其ASCII码之间转化
C#
中2,10,16进制及其ASCII码之间转化 标签:
c#
stringbytebuffer 2012-02-21 09:55 19124人阅读 评论(1) 收藏 举报 ...
C#
(6) ... --------//
C#
中各种字符类型的转化,使用于串口通信-------
一种
C#
读写二进制文件的通用方法
在日常的工作中,我们经常需要进行一些二进制文件或协议的读写操作,用
C#
解析二进制文件常常是一件比较麻烦且容易出错的工作,本文介绍了一种在
C#
中实现快速读写二进制文件通用的方法。 以一个解析Mp
Erlang中的二进制位串(2)
就进入了基本语法的学习,但这部分着实让我费了点力气,因为和之前接触过的编程语言(C,C++,JAVA,
C#
)太不一样了,有很多新的理念,这儿我记录一下 Erlang 中一个很有特色的语言元素——二进制位串。 二进制串就是...
android 串口16进制,串口通信本质及中16进制转10进制
这篇随笔最大的意义就是,串口通信的本质,如果为了人机交互方便,在控件textbox中输入16进制,然后转换成10机制或者0x0f是要转换的顺便说下,你可能感觉我说的晦涩,但是你实践下,你给我打个int i=1F,你就会明白我...
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章