问题描述
- 字节数据转换的高手进来,这个有组数据需要转换求高人
-
我有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
解决方案
直接跟你说答案你也迷糊,建议你去看看转换原理。http://baike.baidu.com/link?url=8KCJTlBS2z3do3ZObsKfX2GOoQ8hINuC0dA_90v1rokVnFysiUZ9oCVc1vIJwXpTyITmStQ2G-TyTxFKUA1Hua
解决方案二:
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() + "rn";
算出来 是 4827.29
解决方案三:
转换,是需要规则的
此处规则不明确啊,建议你:Bing查找:转换为4字节的16进制浮点数数据,或者查找类似的关键字。
时间: 2024-10-29 22:02:44