奇怪的十六进制数编码

Cod*_*ant 0 c# xml hex

我正在使用文本可读文件,这些文件是从使用类似自定义XML结构的客户端系统导出的.我需要能够从大量这些文件中解析和提取数据,而无需记录它们的结构.

我已经完成了文件结构,但是我正在努力解决如何编码值.我可以在系统中手动查找正确的值作为比较.一些例子:

Export Data = System Value

D411E848 = 500000

D40F86A = 100000

D41086A = 200000
Run Code Online (Sandbox Code Playgroud)

我很确定领先的"D"是一个标记,表示该字段是十进制或双精度值.原因是所有数字字段以"D"开头,所有文本字段以"S"开头.以下"4"也可以是字段数据类型的一部分,因为所有数字字段似乎都以"D4"开头.

但是,在导出数据值的任何组合上从十六进制转换为十进制都不会产生正确的结果.

任何想法如何进行转换?

额外的数据映射:

Value   Export File
1   D3FF
2   D4
3   D4008
4   D401
5   D4014
6   D4018
7   D401C
8   D402
9   D4022
10  D4024
100 D4059
1000    D408F4
100000  D40F86A
500000  D411E848
500001  D411E8484
500002  D411E8488
500003  D411E848C
500004  D411E849
500005  D411E8494
500006  D411E8498
500007  D411E849C
500008  D411E84A
500009  D411E84A4
500010  D411E84A8
Run Code Online (Sandbox Code Playgroud)

Car*_*iel 6

看起来像普通但截断的IEEE 754 64位(双精度)数字.

0x408F400000000000 = 1000
408F4 (truncated)
D408F4 (prefixed with D)


0x411E848000000000 = 500000
411E848 (truncated)
D411E848 (prefixed with D)
Run Code Online (Sandbox Code Playgroud)

尝试使用以下网站转换它作为参考:http://www.binaryconvert.com/result_double.html?decimal = 053048048048048048