stario/que_bytes.go

35 lines
693 B
Go
Raw Permalink Normal View History

package stario
import "encoding/binary"
// Uint32ToByte 4位uint32转byte。
func Uint32ToByte(src uint32) []byte {
res := make([]byte, 4)
binary.BigEndian.PutUint32(res, src)
return res
}
// ByteToUint32 byte转4位uint32。
func ByteToUint32(src []byte) uint32 {
return binary.BigEndian.Uint32(src)
}
// Uint16ToByte 2位uint16转byte。
func Uint16ToByte(src uint16) []byte {
res := make([]byte, 2)
binary.BigEndian.PutUint16(res, src)
return res
}
// ByteToUint16 用于byte转uint16。
func ByteToUint16(src []byte) uint16 {
return binary.BigEndian.Uint16(src)
}
func cloneBytes(src []byte) []byte {
if len(src) == 0 {
return nil
}
return append([]byte(nil), src...)
}