以下Javascript示例读取并记录用户选择的文件的前100个字节(通过文件输入):
var blob = file.slice(0, 100);
var fileReader = new FileReader();
fileReader.onload = function(event) {
var arrayBuffer = event.target.result;
var bytes = new Uint8Array(arrayBuffer);
console.log('bytes', bytes);
};
fileReader.readAsArrayBuffer(blob);
通过像hexdump
或od
这样的Linux实用程序实现相同的功能是什么?
更新:我正在寻找hexdump -d
,但产生单字节小数,而不是2字节小数。
你可以用hexdump
做到这一点。 hexdump
的格式化语法,至少可以说有点奇怪,标准的man
页面没有多大帮助。
tl; dr版本是:
hexdump -n 100 -v -e '/1 "%03d\n"' your-file
如果你不关心前导零,你可以使用%d
。
那意味着什么:
-n 100
说只查看输入的前100个字节-v
说要显示每个字节。通常,重复会在输出中折叠为*
。-e '/1 "%03d\n"'
是格式字符串(更多下面)格式字符串由“节”组成,该节以n/m
指示符开头,该指示符指示如何计数和分组字节。 /1
表示输入应该以每个1字节为一组进行处理。计数/分组指示符出现格式字符串后,基本上采用printf()
格式。
Here is a fairly good explanation of hexdump
courtesy of the Suse folks.