Подход необработанных данных - PullRequest
0 голосов
/ 09 февраля 2020

Я работаю над кодом javascript, который получает необработанные байты и создает из него график. В поисках лучшего подхода к управлению такими необработанными (в основном, uint32) данными.

Мой сервер (микроконтроллер нижнего уровня) отправляет 2 МБ блоков необработанных данных (просто memcpy из, например, struct имя {uint32_t NAME, uint32_t NAME2}; ). Я хотел бы конкатать многие из этих блоков. Возможность сохранять объединенные блоки на локальном компьютере, а также иметь простой способ доступа к данным с помощью кода.

В данный момент я просто анализирую данные после получения (используя DataView и getUint32 ), добавление в массив (используя dataseries.pu sh ({…}); ). Для сохранения я просто использую JSON .stringify (data) , что не является обычным способом, потому что каждая переменная содержит также имя переменной (например, {„NAME”: 1, ”NAME2” : 0}) . Доступ с помощью, например. dataseries [x] .NAME .

Как я могу сделать это лучше?

1 Ответ

1 голос
/ 23 апреля 2020

Я бы избегал JSON и просто использовал бы разделенные запятыми строки:

// returns String
function getArrayBufferString(arrayBuffer) {
  return new Uint8Array(arrayBuffer).toString()
}

// returns ArrayBuffer
function parseArrayBufferString(string) {
  return new Uint8Array(string.split(',')).buffer
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...