我正在處理一些遺留數據,我經常需要將uint16轉換爲2字節的字符串。如何將uint16轉換爲Go中的2字節字符串?
這裏是我使用的是什麼(其中i爲UINT16):
string([]byte {byte(i >> 8), byte(i & 0xFF)})
https://play.golang.org/p/423CAL-SJv
這似乎非常笨拙。是否有現成的庫函數來執行此操作?我查看了字符串和二進制包,但似乎沒有什麼明顯的。
我正在處理一些遺留數據,我經常需要將uint16轉換爲2字節的字符串。如何將uint16轉換爲Go中的2字節字符串?
這裏是我使用的是什麼(其中i爲UINT16):
string([]byte {byte(i >> 8), byte(i & 0xFF)})
https://play.golang.org/p/423CAL-SJv
這似乎非常笨拙。是否有現成的庫函數來執行此操作?我查看了字符串和二進制包,但似乎沒有什麼明顯的。
雖然這是你想要做什麼完美的罰款,該encoding/binary
包有更多的功能來讀取和寫入二進制值。
您可以使用
i := uint16(0x474F)
b := make([]byte, 2)
binary.BigEndian.PutUint16(b, i)
fmt.Println(string(b))
// GO
謝謝你。我已經讀過編碼/二進制頁面,但被名字中的varint拋棄了。 – Xevious