# BusinessData

BusinessData is a computer format for representing data structures in binary form. It is developed for duplication data of printed forms (questionnaires, contracts, accounting documents, permits, visa requests, etc.) into a machine-readable format, as a rule, into linear and two-dimensional barcodes with support for binary encoding (DataMatrix, PDF417, QR-code), and further saving this data in a separate column of the relational table database management system CUBD (NoSQL-approach).

# Main differences

  • no predefined data structure is required for deserialization;
  • the ability to describe custom classes (business objects) using data annotation (attributes) and / or Fluent API;
  • support for historical data (chronology of changes in public fields of a custom class — a business object);
  • support for multidimensional and jagged arrays;
  • the ability to select a specialized encoding for each string field of a custom class — a business object;
  • predefined 4-bit encoding for storing identification data in various formats, for example: 46 91 012345, 910-001, 77:01:0001001:1025;
  • predefined 6-bit encodings for Russian, Kazakh and Ukrainian languages;
  • no dependence on third-party libraries (except system ones).

# Data Encoding Structure

The format is based on a widely used method for writing binary data — type-length-value (TLV).

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

# Supported Platforms

  • .NET 3.1 Core LTS;
  • .NET 6.0 LTS.