以下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字节小数。
答案 0 :(得分:1)
您可以使用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.