笔记:使用 JavaScript 识别文件 MIME TYPE - 后续的一些问题 4. 原始 demo 中对二进制内容的可视化
// 原始 demo 中对二进制内容的可视化
let scale = !checkbox.checked ? 2:16
// format style purpose
// 8 => binary: 1 => 00000001 || 2 => hex: 1 => 01
, padValue = scale === 2 ? 8 : 2
, view = new DataView(af)
, result = ''
, offset = (8/8)
// if value has been cache in store, use store value
if (store[scale]){
output.innerHTML = store[scale];
return
}
for (let i = 0; i < view.byteLength; i += offset) {
let value = view.getUint8(i).toString(scale === 2 ? 2 : 16)
result += pad(value, padValue) + ' ';
// make 4 byte per line
result += ((i-3) % 4 === 0) ? '<br/>' : '';
}