Awesome
hexdump.rb
Description
Fully Featured and Fast hexdumping for Ruby.
Features
- Supports printing ASCII, hexadecimal, decimal, octal and binary bytes.
- Supports hexdumping bytes, characters, signed/unsigned integers,
floating-point numbers, and in little/big/network endian byte orders:
char
- signed 8bit ASCII characteruchar
- unsigned 8bit ASCII characterint8
- signed 8bit integeruin8
/byte
- unsigned 8bit integer (default)int16
/short
- signed 16bit integerint16_le
/short_le
- signed 16bit integer (little endian)int16_be
/short_be
- signed 16bit integer (big endian)int16_ne
/short_ne
- signed 16bit integer (network endian)uint16
/ushort
- unsigned 16bit integeruint16_le
/ushort_le
- unsigned 16bit integer (little endian)uint16_be
/ushort_be
- unsigned 16bit integer (big endian)uint16_ne
/ushort_ne
- unsigned 16bit integer (network endian)int32
/int
- signed 32bit integerint32_le
/int_le
- signed 32bit integer (little endian)int32_be
/int_be
- signed 32bit integer (big endian)int32_ne
/int_ne
- signed 32bit integer (network endian)uint32
/uint
/ - unsigned 32bit integeruint32_le
/uint_le
- unsigned 32bit integer (little endian)uint32_be
/uint_be
- unsigned 32bit integer (big endian)uint32_ne
/uint_ne
- unsigned 32bit integer (network endian)int64
/long
/long_long
- signed 64bit integerint64_le
/long_le
/long_long_le
- signed 64bit integer (little endian)int64_be
/long_be
/long_long_be
- signed 64bit integer (big endian)int64_ne
/long_ne
/long_long_ne
- signed 64bit integer (network endian)uint64
ulong
/ulong_long
- unsigned 64bit integeruint64_le
/ulong_le
/ulong_long_le
- unsigned 64bit integer (little endian)uint64_be
/ulong_be
/ulong_long_be
- unsigned 64bit integer (big endian)uint64_ne
/ulong_ne
/ulong_long_ne
- unsigned 64bit integer (network endian)float
- single precision 32bit floating-point numberfloat_le
- single precision 32bit floating-point number (little endian)float_be
- single precision 32bit floating-point number (big endian)float_ne
- single precision 32bit floating-point number (network endian)double
- double precision 64bit floating-point numberdouble_le
- double precision 64bit floating-point number (little endian)double_be
- double precision 64bit floating-point number (big endian)double_ne
- double precision 64bit floating-point number (network endian)
- Supports optionally skipping N bytes or reading at most N bytes of data.
- Supports optional zero-padding of the data.
- Supports omitting repeating rows with a
*
. - Supports grouping columns together like GNU
hexdump -C
. - Supports grouping characters together to align with the type's size.
- Supports displaying characters inline like GNU
hexdump -c
. - Supports displaying UTF-8 characters or other character encodings.
- Supports ANSI styling and highlighting.
- Can hexdump any Object supporting the
each_byte
method. - Can send the hexdump output to any Object supporting the
<<
method. - Makes {String}, {StringIO}, {IO}, {File} objects hexdumpable.
- Fast-ish.
Requirements
- Ruby >= 2.0.0
Install
$ gem install hexdump
gemspec
gem.add_dependency 'hexdump', '~> 1.0'
Gemfile
gem 'hexdump', '~> 1.0'
Examples
require 'hexdump'
Hexdump.hexdump("hello\0")
# 00000000 68 65 6c 6c 6f 00 |hello.|
# 00000006
Core Extensions
"hello\0".hexdump
# 00000000 68 65 6c 6c 6f 00 |hello.|
# 00000006
File.hexdump("/bin/ls")
# ...
Output (file)
File.open('dump.txt','w') do |file|
data.hexdump(output: file)
end
UTF-8
Hexdump.hexdump("\u8000" * 8, encoding: :utf8)
# 00000000 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 |耀耀耀耀耀.|
# 00000010 80 80 e8 80 80 e8 80 80 |..耀耀|
# 00000018
Columns
Hexdump.hexdump('A' * 30, columns: 10)
# 00000000 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
# *
# 0000001e
Repeating Columns
Hexdump.hexdump('A' * 30, columns: 10, repeating: true)
# 00000000 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
# 0000000a 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
# 00000014 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
# 0000001e
Grouping Columns
Hexdump.hexdump("ABCD" * 8, columns: 16, group_columns: 4, repeating: true)
# 00000000 41 42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 |ABCDABCDABCDABCD|
# 00000010 41 42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 |ABCDABCDABCDABCD|
# 00000020
Grouping Chars
Hexdump.hexdump("ABCD" * 8, group_chars: 4)
# 00000000 41 42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 |ABCD|ABCD|ABCD|ABCD|
# *
# 00000020
Grouping UTF-8 Chars
Hexdump.hexdump("\u8000" * 8, group_chars: 4, encoding: :utf8)
# 00000000 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 |耀.|...|.耀|耀.|
# 00000010 80 80 e8 80 80 e8 80 80 |...|.耀|
# 00000018
Disable Chars
Hexdump.hexdump('A' * 30, chars_column: false)
00000000 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
00000010 41 41 41 41 41 41 41 41 41 41 41 41 41 41
0000001e
Hexadecimal
Hexdump.hexdump("hello\0", base: 16)
# 00000000 68 65 6c 6c 6f 00 |hello.|
# 00000006
Decimal
Hexdump.hexdump("hello\0", base: 10)
# 00000000 104 101 108 108 111 0 |hello.|
# 00000006
Octal
Hexdump.hexdump("hello\0", base: 8)
# 00000000 0150 0145 0154 0154 0157 0000 |hello.|
# 00000006
Binary
Hexdump.hexdump("hello\0", base: 2)
# 00000000 01101000 01100101 01101100 01101100 01101111 00000000 |hello.|
# 00000006
UInt Type
Hexdump.hexdump("ABCD" * 7, type: :uint32)
# 00000000 44434241 44434241 44434241 44434241 |ABCDABCDABCDABCD|
# 00000010 44434241 44434241 44434241 |ABCDABCDABCD|
# 0000001c
Little-endian
Hexdump.hexdump("ABCD" * 7, type: :uint32_le)
# 00000000 44434241 44434241 44434241 44434241 |ABCDABCDABCDABCD|
# 00000010 44434241 44434241 44434241 |ABCDABCDABCD|
# 0000001c
Big-endian
Hexdump.hexdump("ABCD" * 7, type: :uint32_be)
# 00000000 41424344 41424344 41424344 41424344 |ABCDABCDABCDABCD|
# 00000010 41424344 41424344 41424344 |ABCDABCDABCD|
# 0000001c
Int Type
Hexdump.hexdump([65535, -1].pack("LL"), type: :int32, base: 10)
# 00000000 65535 -1 |........|
# 00000008
Char Type
Hexdump.hexdump("hello\0", type: :char)
# 00000000 h e l l o \0 |hello.|
# 00000006
Float Type
Hexdump.hexdump([0.0, 1.0, -1.0, Float::NAN].pack('EEEE'), type: :float64_le)
# 00000000 0.000000e+00 1.000000e+00 |...............?|
# 00000010 -1.000000e+00 NaN |................|
# 00000020
Skipping Data
Hexdump.hexdump("GARBAGEabc123", offset: 7)
# 00000007 61 62 63 31 32 33 |abc123|
# 0000000d
Zero-padding
Hexdump.hexdump(("ABCD" * 4) + "AB", type: :uint32_be, zero_pad: true)
# 00000000 41424344 41424344 41424344 41424344 |ABCDABCDABCDABCD|
# 00000010 41420000 |AB..|
# 00000014
ANSI Styling
Hexdump.hexdump("ABCD", style: {index: :white, numeric: :green, chars: :cyan})
ANSI Highlighting
Hexdump.hexdump((0..255).map(&:chr).join, highlights: {
index: {/00$/ => [:white, :bold]},
numeric: {
/^[8-f][0-9a-f]$/ => :faint,
/f/ => :cyan,
'00' => [:black, :on_red]
},
chars: {/[^\.]+/ => :green}
})
Block Configuration
Hexdump.hexdump("hello\0") do |hex|
hex.type = :uint16_le
hex.group_chars = :type
# ...
end
# 00000000 6568 6c6c 006f |he|ll|o.|
# 00000006
Benchmarks
Benchmarks show hexdumping 1Mb of random data.
Ruby 2.7.4
user system total real
Hexdump.hexdump(data) 1.148697 0.025829 1.174526 ( 1.183447)
Hexdump.hexdump(data, repeating: false) 1.050473 0.000000 1.050473 ( 1.057167)
Hexdump.hexdump(data, chars_column: false) 0.878459 0.002912 0.881371 ( 0.888779)
Hexdump.hexdump(data, columns: 256) 0.793922 0.008785 0.802707 ( 0.810535)
Hexdump.hexdump(data, group_columns: 4) 1.309818 0.000000 1.309818 ( 1.320721)
Hexdump.hexdump(data, group_chars: 4) 1.949181 0.000000 1.949181 ( 1.975533)
Hexdump.hexdump(data, encoding: :utf8) 1.292495 0.000000 1.292495 ( 1.302071)
Hexdump.hexdump(data, type: :char) 1.168044 0.000000 1.168044 ( 1.177700)
Hexdump.hexdump(data, type: :uchar) 1.033165 0.000000 1.033165 ( 1.041185)
Hexdump.hexdump(data, type: :int8) 1.310548 0.000000 1.310548 ( 1.319847)
Hexdump.hexdump(data, type: :uint8) 1.035534 0.000000 1.035534 ( 1.041428)
Hexdump.hexdump(data, type: :int16) 1.351306 0.009906 1.361212 ( 1.370048)
Hexdump.hexdump(data, type: :int16_le) 1.320781 0.002981 1.323762 ( 1.331747)
Hexdump.hexdump(data, type: :int16_be) 1.401554 0.003986 1.405540 ( 1.414568)
Hexdump.hexdump(data, type: :int16_ne) 1.367864 0.000000 1.367864 ( 1.376459)
Hexdump.hexdump(data, type: :uint16) 1.425247 0.003965 1.429212 ( 1.438618)
Hexdump.hexdump(data, type: :uint16_le) 1.399240 0.002979 1.402219 ( 1.411098)
Hexdump.hexdump(data, type: :uint16_be) 1.409289 0.006960 1.416249 ( 1.424767)
Hexdump.hexdump(data, type: :uint16_ne) 1.288829 0.000001 1.288830 ( 1.296091)
Hexdump.hexdump(data, type: :int32) 1.089239 0.000000 1.089239 ( 1.094715)
Hexdump.hexdump(data, type: :int32_le) 1.429353 0.000003 1.429356 ( 1.441620)
Hexdump.hexdump(data, type: :int32_be) 1.472933 0.000000 1.472933 ( 1.486328)
Hexdump.hexdump(data, type: :int32_ne) 1.357824 0.000000 1.357824 ( 1.369258)
Hexdump.hexdump(data, type: :uint32) 1.214704 0.000000 1.214704 ( 1.222920)
Hexdump.hexdump(data, type: :uint32_le) 1.253424 0.000000 1.253424 ( 1.262441)
Hexdump.hexdump(data, type: :uint32_be) 1.325268 0.000000 1.325268 ( 1.335447)
Hexdump.hexdump(data, type: :uint32_ne) 1.314893 0.000819 1.315712 ( 1.328889)
Hexdump.hexdump(data, type: :int64) 1.083071 0.000000 1.083071 ( 1.092108)
Hexdump.hexdump(data, type: :int64_le) 1.076378 0.000000 1.076378 ( 1.084785)
Hexdump.hexdump(data, type: :int64_be) 0.998069 0.000000 0.998069 ( 1.005166)
Hexdump.hexdump(data, type: :int64_ne) 0.990422 0.000000 0.990422 ( 1.005638)
Hexdump.hexdump(data, type: :uint64) 1.010946 0.000000 1.010946 ( 1.018339)
Hexdump.hexdump(data, type: :uint64_le) 0.961576 0.000000 0.961576 ( 0.967806)
Hexdump.hexdump(data, type: :uint64_be) 0.979367 0.000000 0.979367 ( 0.985515)
Hexdump.hexdump(data, type: :uint64_ne) 1.017737 0.000000 1.017737 ( 1.024689)
Hexdump.hexdump(data, type: :float32) 1.237278 0.000000 1.237278 ( 1.245206)
Hexdump.hexdump(data, type: :float32_le) 1.233321 0.000000 1.233321 ( 1.241154)
Hexdump.hexdump(data, type: :float32_be) 1.245740 0.000000 1.245740 ( 1.253952)
Hexdump.hexdump(data, type: :float32_ne) 1.256216 0.000000 1.256216 ( 1.264893)
Hexdump.hexdump(data, type: :float64) 1.122882 0.000000 1.122882 ( 1.130954)
Hexdump.hexdump(data, type: :float64_le) 1.117593 0.000000 1.117593 ( 1.125222)
Hexdump.hexdump(data, type: :float64_be) 1.139602 0.000000 1.139602 ( 1.147980)
Hexdump.hexdump(data, type: :float64_ne) 1.142568 0.000000 1.142568 ( 1.150949)
Ruby 3.0.2
user system total real
Hexdump.hexdump(data) 0.902383 0.046875 0.949258 ( 0.953623)
Hexdump.hexdump(data, repeating: false) 0.892407 0.000046 0.892453 ( 0.896401)
Hexdump.hexdump(data, chars_column: false) 0.705909 0.001029 0.706938 ( 0.709924)
Hexdump.hexdump(data, columns: 256) 0.627444 0.009986 0.637430 ( 0.640324)
Hexdump.hexdump(data, group_columns: 4) 1.081550 0.001041 1.082591 ( 1.087987)
Hexdump.hexdump(data, group_chars: 4) 1.444519 0.000000 1.444519 ( 1.452809)
Hexdump.hexdump(data, encoding: :utf8) 1.078177 0.000003 1.078180 ( 1.082981)
Hexdump.hexdump(data, type: :char) 0.865217 0.000000 0.865217 ( 0.868752)
Hexdump.hexdump(data, type: :uchar) 0.736559 0.000000 0.736559 ( 0.739721)
Hexdump.hexdump(data, type: :int8) 1.042024 0.000000 1.042024 ( 1.046687)
Hexdump.hexdump(data, type: :uint8) 0.917350 0.000005 0.917355 ( 0.921428)
Hexdump.hexdump(data, type: :int16) 1.351638 0.004978 1.356616 ( 1.363879)
Hexdump.hexdump(data, type: :int16_le) 1.315200 0.006944 1.322144 ( 1.329052)
Hexdump.hexdump(data, type: :int16_be) 1.421759 0.005966 1.427725 ( 1.435760)
Hexdump.hexdump(data, type: :int16_ne) 1.444364 0.001995 1.446359 ( 1.454039)
Hexdump.hexdump(data, type: :uint16) 1.491169 0.001000 1.492169 ( 1.500542)
Hexdump.hexdump(data, type: :uint16_le) 1.439111 0.000000 1.439111 ( 1.447745)
Hexdump.hexdump(data, type: :uint16_be) 1.464961 0.000836 1.465797 ( 1.473807)
Hexdump.hexdump(data, type: :uint16_ne) 1.407008 0.000808 1.407816 ( 1.415236)
Hexdump.hexdump(data, type: :int32) 1.048519 0.000004 1.048523 ( 1.053326)
Hexdump.hexdump(data, type: :int32_le) 1.080497 0.000000 1.080497 ( 1.085598)
Hexdump.hexdump(data, type: :int32_be) 1.033985 0.000000 1.033985 ( 1.038472)
Hexdump.hexdump(data, type: :int32_ne) 1.057491 0.000000 1.057491 ( 1.062123)
Hexdump.hexdump(data, type: :uint32) 1.019488 0.000000 1.019488 ( 1.023838)
Hexdump.hexdump(data, type: :uint32_le) 1.014077 0.000003 1.014080 ( 1.018370)
Hexdump.hexdump(data, type: :uint32_be) 1.038020 0.000000 1.038020 ( 1.042756)
Hexdump.hexdump(data, type: :uint32_ne) 1.047465 0.000000 1.047465 ( 1.052377)
Hexdump.hexdump(data, type: :int64) 0.842281 0.000000 0.842281 ( 0.845988)
Hexdump.hexdump(data, type: :int64_le) 0.840408 0.000000 0.840408 ( 0.844103)
Hexdump.hexdump(data, type: :int64_be) 0.845470 0.000002 0.845472 ( 0.849219)
Hexdump.hexdump(data, type: :int64_ne) 0.843975 0.000000 0.843975 ( 0.847644)
Hexdump.hexdump(data, type: :uint64) 0.836761 0.000000 0.836761 ( 0.840326)
Hexdump.hexdump(data, type: :uint64_le) 0.828863 0.000000 0.828863 ( 0.832319)
Hexdump.hexdump(data, type: :uint64_be) 0.839492 0.000001 0.839493 ( 0.843017)
Hexdump.hexdump(data, type: :uint64_ne) 0.843799 0.000000 0.843799 ( 0.847764)
Hexdump.hexdump(data, type: :float32) 1.091306 0.000000 1.091306 ( 1.096429)
Hexdump.hexdump(data, type: :float32_le) 1.077634 0.000000 1.077634 ( 1.082633)
Hexdump.hexdump(data, type: :float32_be) 1.085840 0.000986 1.086826 ( 1.092056)
Hexdump.hexdump(data, type: :float32_ne) 1.093757 0.000000 1.093757 ( 1.099011)
Hexdump.hexdump(data, type: :float64) 0.873676 0.010942 0.884618 ( 0.888978)
Hexdump.hexdump(data, type: :float64_le) 0.865006 0.003984 0.868990 ( 0.873156)
Hexdump.hexdump(data, type: :float64_be) 0.879795 0.009947 0.889742 ( 0.894389)
Hexdump.hexdump(data, type: :float64_ne) 0.876483 0.010934 0.887417 ( 0.892222)
JRuby 9.2.19.0
user system total real
Hexdump.hexdump(data) 6.440000 0.260000 6.700000 ( 1.990004)
Hexdump.hexdump(data, repeating: false) 1.920000 0.010000 1.930000 ( 0.973891)
Hexdump.hexdump(data, chars_column: false) 1.680000 0.010000 1.690000 ( 0.848573)
Hexdump.hexdump(data, columns: 256) 0.920000 0.010000 0.930000 ( 0.703203)
Hexdump.hexdump(data, group_columns: 4) 2.070000 0.010000 2.080000 ( 1.119408)
Hexdump.hexdump(data, group_chars: 4) 2.200000 0.010000 2.210000 ( 1.427454)
Hexdump.hexdump(data, encoding: :utf8) 2.280000 0.010000 2.290000 ( 1.148070)
Hexdump.hexdump(data, type: :char) 1.970000 0.020000 1.990000 ( 1.022860)
Hexdump.hexdump(data, type: :uchar) 0.940000 0.000000 0.940000 ( 0.780674)
Hexdump.hexdump(data, type: :int8) 1.580000 0.000000 1.580000 ( 1.086830)
Hexdump.hexdump(data, type: :uint8) 0.980000 0.010000 0.990000 ( 0.937851)
Hexdump.hexdump(data, type: :int16) 2.730000 0.030000 2.760000 ( 1.571684)
Hexdump.hexdump(data, type: :int16_le) 1.620000 0.000000 1.620000 ( 1.354835)
Hexdump.hexdump(data, type: :int16_be) 1.700000 0.010000 1.710000 ( 1.430056)
Hexdump.hexdump(data, type: :int16_ne) 1.640000 0.000000 1.640000 ( 1.437230)
Hexdump.hexdump(data, type: :uint16) 2.190000 0.100000 2.290000 ( 1.801601)
Hexdump.hexdump(data, type: :uint16_le) 1.770000 0.010000 1.780000 ( 1.585609)
Hexdump.hexdump(data, type: :uint16_be) 1.720000 0.000000 1.720000 ( 1.555715)
Hexdump.hexdump(data, type: :uint16_ne) 1.760000 0.010000 1.770000 ( 1.540340)
Hexdump.hexdump(data, type: :int32) 1.430000 0.000000 1.430000 ( 1.133868)
Hexdump.hexdump(data, type: :int32_le) 1.060000 0.000000 1.060000 ( 1.031721)
Hexdump.hexdump(data, type: :int32_be) 1.130000 0.010000 1.140000 ( 1.096841)
Hexdump.hexdump(data, type: :int32_ne) 1.080000 0.000000 1.080000 ( 1.074743)
Hexdump.hexdump(data, type: :uint32) 1.560000 0.010000 1.570000 ( 1.053369)
Hexdump.hexdump(data, type: :uint32_le) 1.070000 0.000000 1.070000 ( 1.001372)
Hexdump.hexdump(data, type: :uint32_be) 1.460000 0.020000 1.480000 ( 1.080869)
Hexdump.hexdump(data, type: :uint32_ne) 1.120000 0.010000 1.130000 ( 0.876941)
Hexdump.hexdump(data, type: :int64) 1.510000 0.010000 1.520000 ( 0.865030)
Hexdump.hexdump(data, type: :int64_le) 0.860000 0.000000 0.860000 ( 0.770903)
Hexdump.hexdump(data, type: :int64_be) 0.820000 0.000000 0.820000 ( 0.768356)
Hexdump.hexdump(data, type: :int64_ne) 0.760000 0.010000 0.770000 ( 0.752532)
Hexdump.hexdump(data, type: :uint64) 2.430000 0.000000 2.430000 ( 1.011133)
Hexdump.hexdump(data, type: :uint64_le) 0.850000 0.010000 0.860000 ( 0.823235)
Hexdump.hexdump(data, type: :uint64_be) 0.870000 0.000000 0.870000 ( 0.822799)
Hexdump.hexdump(data, type: :uint64_ne) 0.900000 0.000000 0.900000 ( 0.829247)
Hexdump.hexdump(data, type: :float32) 3.700000 0.020000 3.720000 ( 1.862630)
Hexdump.hexdump(data, type: :float32_le) 1.430000 0.010000 1.440000 ( 1.372024)
Hexdump.hexdump(data, type: :float32_be) 1.360000 0.010000 1.370000 ( 1.333000)
Hexdump.hexdump(data, type: :float32_ne) 1.390000 0.000000 1.390000 ( 1.354031)
Hexdump.hexdump(data, type: :float64) 2.830000 0.030000 2.860000 ( 1.705892)
Hexdump.hexdump(data, type: :float64_le) 1.370000 0.000000 1.370000 ( 1.356680)
Hexdump.hexdump(data, type: :float64_be) 1.430000 0.010000 1.440000 ( 1.392404)
Hexdump.hexdump(data, type: :float64_ne) 1.380000 0.000000 1.380000 ( 1.363983)
TruffleRuby 21.2.0.1
user system total real
Hexdump.hexdump(data) 7.456088 0.230339 7.686427 ( 2.378998)
Hexdump.hexdump(data, repeating: false) 5.737137 0.150997 5.888134 ( 1.781732)
Hexdump.hexdump(data, chars_column: false) 6.671704 0.064265 6.735969 ( 2.054377)
Hexdump.hexdump(data, columns: 256) 4.711081 0.023574 4.734655 ( 1.352932)
Hexdump.hexdump(data, group_columns: 4) 8.762291 0.133901 8.896192 ( 2.711132)
Hexdump.hexdump(data, group_chars: 4) 13.382068 0.127633 13.509701 ( 4.128705)
Hexdump.hexdump(data, encoding: :utf8) 8.591975 0.138969 8.730944 ( 2.676283)
Hexdump.hexdump(data, type: :char) 6.455997 0.059446 6.515443 ( 1.953656)
Hexdump.hexdump(data, type: :uchar) 6.201412 0.048587 6.249999 ( 1.732655)
Hexdump.hexdump(data, type: :int8) 8.712725 0.095197 8.807922 ( 2.587043)
Hexdump.hexdump(data, type: :uint8) 5.553536 0.074358 5.627894 ( 1.786634)
Hexdump.hexdump(data, type: :int16) 11.300609 0.114115 11.414724 ( 3.440795)
Hexdump.hexdump(data, type: :int16_le) 8.040891 0.060503 8.101394 ( 2.388759)
Hexdump.hexdump(data, type: :int16_be) 6.602434 0.087225 6.689659 ( 2.082091)
Hexdump.hexdump(data, type: :int16_ne) 5.448411 0.076425 5.524836 ( 1.696039)
Hexdump.hexdump(data, type: :uint16) 10.081909 0.157579 10.239488 ( 3.106461)
Hexdump.hexdump(data, type: :uint16_le) 6.847504 0.040543 6.888047 ( 2.069546)
Hexdump.hexdump(data, type: :uint16_be) 6.730759 0.149299 6.880058 ( 2.147346)
Hexdump.hexdump(data, type: :uint16_ne) 5.539179 0.108832 5.648011 ( 1.747539)
Hexdump.hexdump(data, type: :int32) 7.998790 0.058401 8.057191 ( 2.383304)
Hexdump.hexdump(data, type: :int32_le) 4.650657 0.081202 4.731859 ( 1.412741)
Hexdump.hexdump(data, type: :int32_be) 11.538588 0.089259 11.627847 ( 3.557763)
Hexdump.hexdump(data, type: :int32_ne) 9.605673 0.146677 9.752350 ( 2.995870)
Hexdump.hexdump(data, type: :uint32) 10.404964 0.106136 10.511100 ( 3.118580)
Hexdump.hexdump(data, type: :uint32_le) 4.851154 0.080325 4.931479 ( 1.463532)
Hexdump.hexdump(data, type: :uint32_be) 11.293044 0.100121 11.393165 ( 3.539708)
Hexdump.hexdump(data, type: :uint32_ne) 9.907893 0.122000 10.029893 ( 3.165294)
Hexdump.hexdump(data, type: :int64) 9.103719 0.102995 9.206714 ( 2.775106)
Hexdump.hexdump(data, type: :int64_le) 9.304751 0.180642 9.485393 ( 2.922495)
Hexdump.hexdump(data, type: :int64_be) 7.166353 0.089344 7.255697 ( 2.215438)
Hexdump.hexdump(data, type: :int64_ne) 6.874170 0.090186 6.964356 ( 2.113975)
Hexdump.hexdump(data, type: :uint64) 12.997911 0.165758 13.163669 ( 4.081488)
Hexdump.hexdump(data, type: :uint64_le) 8.949650 0.130855 9.080505 ( 2.712645)
Hexdump.hexdump(data, type: :uint64_be) 8.948030 0.173500 9.121530 ( 2.842953)
Hexdump.hexdump(data, type: :uint64_ne) 8.055399 0.153749 8.209148 ( 2.547932)
Hexdump.hexdump(data, type: :float32) 14.345624 0.241224 14.586848 ( 4.508393)
Hexdump.hexdump(data, type: :float32_le) 10.454524 0.103136 10.557660 ( 3.112175)
Hexdump.hexdump(data, type: :float32_be) 11.073294 0.202252 11.275546 ( 3.443881)
Hexdump.hexdump(data, type: :float32_ne) 9.990956 0.091216 10.082172 ( 3.022276)
Hexdump.hexdump(data, type: :float64) 16.629231 0.279989 16.909220 ( 5.163906)
Hexdump.hexdump(data, type: :float64_le) 13.761375 0.190385 13.951760 ( 4.129403)
Hexdump.hexdump(data, type: :float64_be) 16.121047 0.277863 16.398910 ( 5.019326)
Hexdump.hexdump(data, type: :float64_ne) 8.873162 0.068414 8.941576 ( 4.748072)
Copyright
Copyright (c) 2011-2021 Hal Brodigan
See {file:LICENSE.txt} for details.