[英]Print first 100 bytes of a binary file as uint8 in Linux
下面的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"'
是格式字符串(更多信息請-e '/1 "%03d\\n"'
下文) 格式字符串由“節”組成,這些節以有關如何計數和分組字節的n/m
指示符開頭。 /1
表示應按每個1字節的組處理輸入。 在計數/分組指示符之后是一個格式字符串,基本上是printf()
格式的樣式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.