-2

我有十六进制 FF676980(4 字节)的经度,我想将其转换为 c# 中的度数,我该怎么做?

4

1 回答 1

1

通常地理标签为 24 字节,但对于不需要精确位置的照片,通常使用 4 字节地理标签。因此,假设这是您的用例是很自然的,您应该#ve 只是阅读维基百科文章(https://en.wikipedia.org/wiki/Geotagging#Photographs)并接受它而不是询问。

无论如何继承你的代码:

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);
}

请注意,您应该有一个枚举来指示它的 N 或 S、W 或 S,这取决于是否deg为正。

于 2019-09-13T09:25:15.650 回答