package common
|
|
|
|
import (
|
|
"bytes"
|
|
)
|
|
|
|
// Fingerprint returns the first 6 bytes of a byte slice.
|
|
// If the slice is less than 6 bytes, the fingerprint
|
|
// contains trailing zeroes.
|
|
func Fingerprint(slice []byte) []byte {
|
|
fingerprint := make([]byte, 6)
|
|
copy(fingerprint, slice)
|
|
return fingerprint
|
|
}
|
|
|
|
func IsZeros(slice []byte) bool {
|
|
for _, byt := range slice {
|
|
if byt != byte(0) {
|
|
return false
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
|
|
func RightPadBytes(slice []byte, l int) []byte {
|
|
if l < len(slice) {
|
|
return slice
|
|
}
|
|
padded := make([]byte, l)
|
|
copy(padded[0:len(slice)], slice)
|
|
return padded
|
|
}
|
|
|
|
func LeftPadBytes(slice []byte, l int) []byte {
|
|
if l < len(slice) {
|
|
return slice
|
|
}
|
|
padded := make([]byte, l)
|
|
copy(padded[l-len(slice):], slice)
|
|
return padded
|
|
}
|
|
|
|
func TrimmedString(b []byte) string {
|
|
trimSet := string([]byte{0})
|
|
return string(bytes.TrimLeft(b, trimSet))
|
|
|
|
}
|