Как записать и прочитать разнотипные бинарные данные в javascript?

Пользователь

от krista , в категории: JavaScript , 8 месяцев назад

Как записать и прочитать разнотипные бинарные данные в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от johnpaul.blick , 8 месяцев назад

@krista 

В JavaScript можно использовать объекты ArrayBuffer и TypedArray для записи и чтения бинарных данных различных типов.


Пример записи и чтения разнотипных бинарных данных:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// Запись
let buffer = new ArrayBuffer(16); // создаем буфер размером 16 байт
let view = new DataView(buffer); // создаем DataView для работы с буфером

view.setInt8(0, 42); // записываем 8-битное знаковое целое значение
view.setUint16(1, 12345); // записываем 16-битное беззнаковое целое значение
view.setFloat32(3, 3.14); // записываем 32-битное число с плавающей запятой

// Чтение
let value1 = view.getInt8(0); // читаем 8-битное знаковое целое значение
let value2 = view.getUint16(1); // читаем 16-битное беззнаковое целое значение
let value3 = view.getFloat32(3); // читаем 32-битное число с плавающей запятой

console.log(value1, value2, value3);


В данном примере используется ArrayBuffer для создания буфера определенного размера, а затем DataView для удобной записи и чтения данных из буфера. Методы типа set позволяют записывать данные определенного типа в определенное смещение байтов в буфере, а методы типа get позволяют читать данные из буфера. Все методы типа set и get доступны в объекте DataView для различных типов данных.