Home

Awesome

hexdump.rb

CI Gem Version

Description

Fully Featured and Fast hexdumping for Ruby.

Features

Requirements

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.