123456789101112131415161718192021222324 |
- package internal
- import (
- "encoding/binary"
- "unsafe"
- )
- // NativeEndian is set to either binary.BigEndian or binary.LittleEndian,
- // depending on the host's endianness.
- var NativeEndian binary.ByteOrder
- func init() {
- if isBigEndian() {
- NativeEndian = binary.BigEndian
- } else {
- NativeEndian = binary.LittleEndian
- }
- }
- func isBigEndian() (ret bool) {
- i := int(0x1)
- bs := (*[int(unsafe.Sizeof(i))]byte)(unsafe.Pointer(&i))
- return bs[0] == 0
- }
|