2012年11月07日 星期三

定长表示int64

有时候,在传输数据的时候,我们希望我们传输的是定长的字节数,但是,在传输可变的整数类型的时候,就不能确定,长度.所以我们要把int64转换成一个定长的字符串. 解决方案1,我们可以设定一个最大长度,然后前面补领.这种十进制表示的,长度很长.所以又诞生了另一个完美的解决方案2,使用定长的十六进制表示0x000000.那么在go语言中,怎么样代码实现呢?下面是我写的是一个实例.
package main

import (
	"fmt"
	"strconv"
)
func main() {
	s:=fmt.Sprintf("0x%08x",32*1024)
	fmt.Println(s)
	i,_:=strconv.ParseInt(s, 0, 64)
	fmt.Println(i)
	fmt.Println(strconv.FormatInt(i, 2))
}
运行结果:
0x00008000
32768
1000000000000000
[Finished in 0.5s]