2019-04-22 02:59:20 +00:00

31 lines
629 B
Go

package binary
// BigEndian big endian.
var BigEndian bigEndian
type bigEndian struct{}
func (bigEndian) Int8(b []byte) int8 { return int8(b[0]) }
func (bigEndian) PutInt8(b []byte, v int8) {
b[0] = byte(v)
}
func (bigEndian) Int16(b []byte) int16 { return int16(b[1]) | int16(b[0])<<8 }
func (bigEndian) PutInt16(b []byte, v int16) {
b[0] = byte(v >> 8)
b[1] = byte(v)
}
func (bigEndian) Int32(b []byte) int32 {
return int32(b[3]) | int32(b[2])<<8 | int32(b[1])<<16 | int32(b[0])<<24
}
func (bigEndian) PutInt32(b []byte, v int32) {
b[0] = byte(v >> 24)
b[1] = byte(v >> 16)
b[2] = byte(v >> 8)
b[3] = byte(v)
}