Module: BinaryIO::ByteOrder

Defined in:
lib/binaryio/byte_order.rb

Overview

Function module that provides the underlying byte order of the current system archiecture.

NOTE: Seems like this should be part of a Ruby statnadrd Platform module.

Copyright (c) Michael Neumann

Constant Summary

Native =
:Native
BigEndian =
Big = Network = :BigEndian
LittleEndian =
Little = :LittleEndian

Instance Method Summary (collapse)

Instance Method Details

- (Boolean) big_endian? Also known as: big?, network?

Returns:

  • (Boolean)


32
33
34
# File 'lib/binaryio/byte_order.rb', line 32

def big_endian?
  byte_order == BigEndian
end

- (Object) byte_order Also known as: byteorder

examines the byte order of the underlying machine



18
19
20
21
22
23
24
# File 'lib/binaryio/byte_order.rb', line 18

def byte_order
  if [0x12345678].pack("L") == "\x12\x34\x56\x78"
    BigEndian
  else
    LittleEndian
  end
end

- (Boolean) little_endian? Also known as: little?

Returns:

  • (Boolean)


28
29
30
# File 'lib/binaryio/byte_order.rb', line 28

def little_endian?
  byte_order == LittleEndian
end