Byte数组中高低位转换的问题
s := "635197BB"
sb := []byte(s)
for i:=0;i<len(sb);i++ {
fmt.Print(sb[i]," ")
}
vv := make([]byte,8)
vv[0] = sb[6]
vv[1] = sb[7]
vv[2] = sb[4]
vv[3] = sb[5]
vv[4] = sb[2]
vv[5] = sb[3]
vv[6] = sb[0]
vv[7] = sb[1]
iii,_:=strconv.ParseInt(string(vv),16,64)
fmt.Println(string(vv),int(iii))
以上代码在java中为4字节,Go中为8个字节,转换需要22对一个,0、1和6、7,顺序不能乱,切记。
WG34转WG26
i := 3147256163
i0 := 256 * 256
i1 := i % i0
i2 := int(i / i0 % 256) * 100000
fmt.Println(i1+i2)
以上为读卡的时候两种格式转换,WG34为10位数字,WG26为8位数字,WG34可以转为WG26,WG26无法转为WG34.