add hexdump.js

This commit is contained in:
AJ ONeal 2017-09-22 17:07:07 -06:00
parent 2c95f756bb
commit af6f9b37eb
1 changed files with 32 additions and 0 deletions

32
hexdump.js Normal file
View File

@ -0,0 +1,32 @@
(function (exports) {
'use strict';
exports.hexdump = function hexdump(ab) {
var ui8 = new Uint8Array(ab);
var bytecount = 0;
var head = ' 0 1 2 3 4 5 6 7 8 9 A B C D E F';
var trail;
var str = [].slice.call(ui8).map(function (i) {
var h = i.toString(16);
if (h.length < 2) {
h = '0' + h;
}
return h;
}).join('').match(/.{1,2}/g).join(' ').match(/.{1,48}/g).map(function (str) {
var lead = bytecount.toString(16);
bytecount += 16;
while (lead.length < 7) {
lead = '0' + lead;
}
return lead + ' ' + str;
}).join('\n');
trail = ab.byteLength.toString(16);
while (trail.length < 7) {
trail = '0' + trail;
}
return head + '\n' + str + '\n' + trail;
};
}('undefined' !== typeof exports && exports || 'undefined' !== typeof window && window || global));