Как сохранить число или иную информацию в файл в виде двоичного кода?
//1673357377000 — весит целых 13 байтов
console.log((1673357377000 >>> 0).toString(2));
//10011011110111110011110111101000 — весит всего 4 байта
//340282366920938463463374607431768211455 — весит целых 39 байт
console.log((340282366920938463463374607431768211455n).toString(2))
//11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 — весит всего 16 байт
В данном примере 1673357377000 — это дата в секундах от 1 янв 1970. Допустим, надо сохранить много дат в файл — каждая дата с новой строки. Как же это сделать?
Попробовали такой код, но нули и единицы всё равно сохраняются как байты:
var sampleBits = (1673357377000 >>> 0).toString(2);
var saveBitArray = (function () {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
return function (data, name) {
var blob = new Blob(data, {type: "octet/stream"}),
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = name;
a.click();
window.URL.revokeObjectURL(url);
};
}());
saveBitArray([sampleBits], 'example');