GoLang在工作中的一点记录

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值