问题描述
最近遇到一个问题,某西门子设备发送给计算机的数据流为字节流,但是其编码方式与C#不同,该设备传输过来的数据是先填充低位再填充高位,与C#不同。如:一个INT型,该设备发送过来的INT型占16位,也就是两个字节,但这个INT型数据先填充低8位,如果高8位不需要填充,则为空,这就给C#解读带来了不便,请大家帮我想个办法,怎么才能把这样不同编码方式的数据转换成C#能读的数据编码呢?
解决方案
解决方案二:
<<8
解决方案三:
硬件相关用C++
解决方案四:
路过
解决方案五:
2字节哪里是int是int16不是正常的int32那你只能自己位移了?但这个INT型数据先填充低8位,如果高8位不需要填充,则为空?为空是0吧,数字类型的空就是0吧int16=0x0001二进制格式应该是0100你那种情况就是0001
解决方案六:
感谢楼上的朋友们帮忙不过现在还有一个问题,就是:移位的话,浮点型和字符型的问题怎么解决呢?急~!
时间: 2024-09-20 13:55:27