我需要阅读特定的二进制数据格式(https://www.usna.edu/Users/oceano/pguth/md_help/html/BT_file_format.htm)。Go 似乎能够很好地做到这一点:// ... f, _ := os.Open(filename) var data struct { Indicator [10]byte Columns [4]byte Rows [4]byte DataSize [4]byte UTMFlag [2]byte UTMZone [2]byte LeftExtend [4]byte RightExtend [4]byte BottomExtend [4]byte TopExtend [4]byte FloatingPointFlag [2]byte } _ = binary.Read(f, binary.LittleEndian, &data)// ...这似乎有效,因为spew.dump(data.Indicator)例如返回正确的数据。我不明白的是如何将固定切片[2]byte转换为我实际可以使用的整数。有什么建议么?
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
声明具有固定大小数字类型的字段:
var data struct {
Indicator [10]byte
Columns uint32
Rows uint32
DataSize uint32
UTMFlag uint16
UTMZone uint16
LeftExtend uint32
RightExtend uint32
BottomExtend uint32
TopExtend uint32
FloatingPointFlag uint16
}
我在这里使用了无符号整数,但也可以使用有符号整数。使用与数据匹配的类型。
https://play.golang.org/p/95yqMAYsWVR
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消