libs5-go/utils/endian.go

22 lines
358 B
Go
Raw Normal View History

2024-01-03 09:56:10 +00:00
package utils
func EncodeEndian(value uint64, length int) []byte {
res := make([]byte, length)
for i := 0; i < length; i++ {
res[i] = byte(value & 0xff)
value = value >> 8
}
return res
2024-01-03 09:56:10 +00:00
}
func DecodeEndian(bytes []byte) uint64 {
var total uint64
for i := 0; i < len(bytes); i++ {
total += uint64(bytes[i]) << (8 * uint(i))
}
return total
2024-01-03 09:56:10 +00:00
}