vdk/format/mkv/mkvio/utils.go

24 lines
317 B
Go
Raw Normal View History

2022-01-27 09:10:06 +08:00
package mkvio
func pack(n int, b []byte) uint64 {
var v uint64
var k uint64 = (uint64(n) - 1) * 8
for i := 0; i < n; i++ {
v |= uint64(b[i]) << k
k -= 8
}
return v
}
func unpack(n int, v uint64) []byte {
var b []byte
for i := uint(n); i > 0; i-- {
b = append(b, byte(v>>(8*i))&0xff)
}
return b
}