小编Dar*_*erg的帖子

如何将二进制(十六进制)数据转换为纬度和经度?

我有一些二进制数据流传递地理位置坐标 - 纬度和经度.我需要找到他们编码的方法.

4adac812 = 74°26.2851' = 74.438085
2b6059f9 = 43°0.2763'  = 43.004605

4adaee12 = 74°26.3003' = 74.438338
2a3c8df9 = 42°56.3177' = 42.938628

4ae86d11 = 74°40.1463' = 74.669105
2afd0efb = 42°59.6263' = 42.993772
Run Code Online (Sandbox Code Playgroud)

第一个值是十六进制值.第二和第三是我在输出中得到的值(不确定在转换中使用哪一个).

我发现第一个字节表示值的整数部分(0x4a = 74).但我无法找到小数部分的编码方式.

我真的很感激任何帮助!

谢谢.

-

Upd:这个流来自一些"中国"gps服务器软件通过tcp协议.我没有关于clent软件的资料或文档.我想它是用VC++ 6编写的,并使用了一些标准实现.

-

更新:这是我得到的数据包:

Hex data:
41 00 00 00  13 bd b2 2c
4a e8 6d 11  2a 3c 8d f9
f6 0c ee 13

Log data in client soft:
[Lng] 74°40.1463', direction:1
[Lat] 42°56.3177', direction:1
[Head] direction:1006, speed:3318, …
Run Code Online (Sandbox Code Playgroud)

binary hex coordinates

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

binary ×1

coordinates ×1

hex ×1