# BusinessData

BusinessData — это компьютерный формат представления структур данных в бинарном виде. Разработан для целей дублирования данных печатных форм (анкет, договоров, бухгалтерских документов, пропусков, визовых запросов и т.д.) в машиночитаемый формат, как правило, в линейные и двухмерные штриховые коды с поддержкой бинарного кодирования (DataMatrix, PDF417, QR-code), и дальнейшим сохранением этих данных в отдельном столбце таблицы реляционной СУБД (NoSQL-подход).

# Поддерживаемые платформы

  • .NET Framework 4.6;
  • .NET Framework 4.7;
  • .NET Framework 4.7.1;
  • .NET Framework 4.7.2;
  • .NET Framework 4.8;
  • .NET Framework 4.8.1;
  • .NET 3.1 Core LTS;
  • .NET 6.0 LTS;
  • .NET 7.0.

# Основные отличия

  • не требуется заранее определённая структура данных для десериализации;
  • возможность описания пользовательских классов (бизнес-объектов) с помощью аннотации данных (атрибутов) и/или Fluent API;
  • поддержка исторических данных (хронологии изменения публичных полей пользовательского класса — бизнес-объекта);
  • поддержка многомерных и зубчатых массивов;
  • возможность выбора специализированной кодировки для каждого строкового поля пользовательского класса — бизнес-объекта;
  • предопределённая 4-битная кодировка для хранения идентификационных данных различного формата, например: 46 91 012345, 910-001, 77:01:0001001:1025;
  • предопределённые 6-битные кодировки для русского, казахского и украинского языков;
  • отсутствие зависимости от сторонних библиотек (кроме системных).

# Структура кодирования данных

В основе формата лежит широко распространённый метод записи двоичных данных — type-length-value (TLV).

graph LR
  Version
  Length
  Type
  Value
  Version --- Length
  Length --- Type
  Type --- Value