Skip to content

20200221关于encoding binary包的使用细节

ziyouzy edited this page Feb 21, 2020 · 1 revision

encoding.binary.BigEndian.Uint32(xxxx)这个函数的参数xxxx需要是长度为4的byte切片

encoding.binary.BigEndian.Uint16(xx)这个函数的参数xx需要是长度为2的byte切片

以此类推,否则会报数组溢出错误,这个函数能为程序员开拓思路,更深刻的理解底层数据的转换方式

这里结合crc校验码举例,crc校验码最配套的储存方式是储存到2个字节中,于是在crc.CheckSum函数中,两个字节也可以是一个uint16,同时整型比较方便用于计算。

最终返回了uint16对应的[]byte切片,一切正常的话切片长度应该为两位

到了encoding.binary.BigEndian.Uint16这里,两位的字节切片需要与uint16对应,否则报错

test2

Clone this wiki locally