我正在处理一些遗留数据,经常需要将uint16转换为2字节字符串。
这是我使用的代码(其中i是一个uint16):
string([]byte {byte(i >> 8), byte(i & 0xFF)})
这似乎有点笨重。是否有现有的库函数可以完成此操作?我已经查看了strings和binary包,但没有什么显而易见的东西。
我正在处理一些遗留数据,经常需要将uint16转换为2字节字符串。
这是我使用的代码(其中i是一个uint16):
string([]byte {byte(i >> 8), byte(i & 0xFF)})
虽然这种方式对于你想要做的事情来说是完全可以的,但encoding/binary
包提供了更多读写二进制值的功能。
你可以使用
i := uint16(0x474F)
b := make([]byte, 2)
binary.BigEndian.PutUint16(b, i)
fmt.Println(string(b))
// GO
请尝试以下操作
t := strconv.Itoa(123)