2 sonnpy sonnpy 于 2016.01.30 19:53 提问

字节数据转换的高手进来,这个有组数据需要转换求高人

我有7组数据
34 35 39 36 44 41 35 32
34 35 39 36 44 41 35 32
34 37 32 46 38 45 42 36
34 33 45 35 43 41 33 44
30 30 30 30 30 30 30 30
34 30 44 39 39 39 39 41
30 30 30 30 30 30 30 30
这7组数据是是7个符点型数据,下面是数据的说明,求高人解答,到底是怎么转换,C#该怎么写转换函数
数据说明:
此处数据为以ASCII表示的16进制,即各字段都是8个字符的ASCII,需要转换为4字节的16进制浮点数数据,并进行大小尾格式转换,数据类型可定义为float

3个回答

luffychao
luffychao   2016.01.30 20:03
已采纳
sonnpy
sonnpy 虽说没解决问题 但是还是重温了下 进制之间的计算 谢谢了 问题自己也解决了
2 年多之前 回复
sonnpy
sonnpy   2016.01.30 22:07
        string hexString = “34 35 39 36 44 41 35 32”;
        string[] hexValuesSplit = hexString.Split(' ');
        string str = "";
        foreach (String hex in hexValuesSplit)
        {
            int value = Convert.ToInt32(hex, 16);
            string stringValue = Char.ConvertFromUtf32(value);
            str += (char)value;

        }

                    uint num = uint.Parse(str, System.Globalization.NumberStyles.AllowHexSpecifier);
        byte[] floatVals = BitConverter.GetBytes(num);
        float f = BitConverter.ToSingle(floatVals, 0);
        rtxt2.Text += f.ToString() + "\r\n";

算出来 是 4827.29

91program
91program   Ds   Rxr 2016.01.30 21:03

转换,是需要规则的
此处规则不明确啊,建议你:Bing查找:转换为4字节的16进制浮点数数据,或者查找类似的关键字。

sonnpy
sonnpy 谢谢 热心 自己想了想 已经解决了 下面会贴出来共享大家学习 这个是单片机返回数据处理
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
各种字节转换为byte(ConvertCodeUtility)工具类
最近跳槽到通信公司  各种解析,传递byte数组  整理下转换为字节工具类  方便下以后开发; 1.截取byte数组   public static byte[] subByteArr(byte[] data, int start, int length) { if (length0) { return new byte[0]; } byte[] value =
VB6 实现从字节到具体数据类型的转换
对于单片机软件工程师在设计上下位机通讯时,经常会遇到这样一个问题,那就是如何传递一个float或者说是double或者是long 类型的数据,这些数据是由多个字节组成的,那么符合实现发送和在vb6中接收,以及将数据还原是个问题。 事实上在C/C++中要实现很简单,只要通过指针和字节访问即可! 下面来看一个使用Turbo C 2.0做的例子: #include #include #incl
浮点数与字节数据转换详解
本文参考网络上的诸多文章,首先分析了单精度浮点数是如何在机器中存储的,然后将浮点数转换为内存中显示的字节数据,进而又将字节数据转换为单精度浮点数。主要用于对数据存储的分析和字节流转换为有效数据方面。
浮点数与4字节数值相互转换工具
浮点数与四个字节数值相互转化的工具。例如浮点数20.12转化为C3 F5 A0 41四个字节。
大端小端模式判断以及数据转换
计算机都是以八位一个字节为存储单位,那么一个16位的整数,也就是C语言中的short,在内存中可能有两种存储顺序big-endian和litte-endian.考虑一个short整数0xAF32(0x32是低位,0xAF是高位),把它赋值给一个short变量,那么它在内存中的存储可能有如下两种情况: 大端字节(Big-endian):较高的有效字节存放在较低的存储器地址,较低的有效字节存放在
网络字节序与主机字节序 和它们之间的相互转换函数
1、网络字节序:是TCP/IP中一种固定好的数据表示格式,它与具体的CPU,操作系统,传输方式无关,从而可以保证数据在不同主机之间传输时能够兼容。 2、主机字节序:即大端(Big Endian)与小端(Little Endian)模式;由CPU和硬件的设置方式相关。 3、为了进行转换 bsd socket提供了转换的函数 有下面四个 (BSD Socket 是UNIX系统中通用的网络接口
解决GPS定位数据转换问题
很多情况下,在服务器端处理定位数据的时候,会用到百度地图等三方的接口,但是在终端上传的数据是GPS定位数据,这样会导致两者误差很大。我在处理微信定位信息的时候,就遇到这种情况。
java byte数据转换和处理总结
java byte数据转换和处理总结java程序或Android程序的socket数据传输,都是通过byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型。
数据挖掘:数据清洗、转换和消减
转载自:http://blog.csdn.net/wang20054479/article/details/33389217 一、数据预处理包括数据清洗、数据集成、数据转换和数据消减: 1、  数据清洗(data cleaning)处理例程通常包括:填补遗漏的数据值、平滑有噪声数据、识别或除去异常值,以及解决不一致问题。 2、  数据集成(data integration)就
四字节与float转换
/////////char to float char sBuf[4]; sBuf[0]=0x00; sBuf[1]=0x00; sBuf[2]=0x48; sBuf[3]=0x42; float a= *(float*)(sBuf); ///////// float to char