我正在处理一些遗留数据,我经常需要将uint16转换为2字节字符串。
这是我正在使用的(我是一个uint16):
string([]byte {byte(i >> 8), byte(i & 0xFF)})
https://play.golang.org/p/423CAL-SJv
这看起来相当笨重。是否有现有的库函数来执行此操作?我已经查看了字符串和二进制包,但似乎没有任何东西显而易见。
答案 0 :(得分:5)
虽然这对于您尝试做的事情来说非常好,但encoding/binary
包具有更多用于读取和写入二进制值的功能。
您可以使用
i := uint16(0x474F)
b := make([]byte, 2)
binary.BigEndian.PutUint16(b, i)
fmt.Println(string(b))
// GO
答案 1 :(得分:-3)
尝试以下
t := strconv.Itoa(123)