26 lines
312 B
Go
26 lines
312 B
Go
package ber
|
|
|
|
func encodeUnsignedInteger(i uint64) []byte {
|
|
n := uint64Length(i)
|
|
out := make([]byte, n)
|
|
|
|
var j int
|
|
for ; n > 0; n-- {
|
|
out[j] = (byte(i >> uint((n-1)*8)))
|
|
j++
|
|
}
|
|
|
|
return out
|
|
}
|
|
|
|
func uint64Length(i uint64) (numBytes int) {
|
|
numBytes = 1
|
|
|
|
for i > 255 {
|
|
numBytes++
|
|
i >>= 8
|
|
}
|
|
|
|
return
|
|
}
|