将4个十六进制字节的GPS数据转换为纬度和经度c#

将4个十六进制字节的GPS数据转换为纬度和经度c#,c#,gps,latitude-longitude,longitudinal,C#,Gps,Latitude Longitude,Longitudinal,我的经度是十六进制FF676980(4字节),我想把它转换成c#的度数,我怎么做呢?通常地理标签是24字节,但对于不需要精确位置的照片,通常使用4字节的地理标签。因此,假设这是您的用例是很自然的,您应该阅读wikipedia的文章()并完成它,而不是询问 无论如何,这是你的密码: public static (int D, int M, decimal S) Parse4ByteHexGeoTag(string hex) { var deg = Convert.ToInt(hex.SubS

我的经度是十六进制FF676980(4字节),我想把它转换成c#的度数,我怎么做呢?

通常地理标签是24字节,但对于不需要精确位置的照片,通常使用4字节的地理标签。因此,假设这是您的用例是很自然的,您应该阅读wikipedia的文章()并完成它,而不是询问

无论如何,这是你的密码:

public static (int D, int M, decimal S) Parse4ByteHexGeoTag(string hex)
{
   var deg = Convert.ToInt(hex.SubString(0,2));
   var time = Convert.ToDecimal(hex.SubString(3))/60m;
   var min = (int)time;
   var sec = (time%60)*60;
   return (deg, min, sec);
}

请注意,根据
deg
是否为正,您应该有一个枚举来指示其N或S、W或S。

Hi,欢迎使用堆栈溢出。请用您已经尝试过的代码更新问题。纬度和经度是具有许多十进制位置的数字,可以是正的,也可以是负的。我想知道这些数据是如何被编码成4个字节的。你怎么知道这个标志的?小数点的位置呢?你的问题缺乏信息,因此其他人可以帮助你。