35 lines
693 B
Go
35 lines
693 B
Go
|
|
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...)
|
||
|
|
}
|