nrv2e-decompress
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

nrv2e-decompress

Build Status Coverage Status npm

Decompress with NRV2E algorithm.

Requirements

This is ESM module which requires ES2020 and Node >= 14.

Installation

npm install nrv2e-decompress

Additionally for Typescript:

npm install -D @types/node

Usage

import nrv2eDecompress from 'nrv2e-decompress'

nrv2eDecompress

nrv2eDecompress(input, output, bufferBits)

Arguments:

  • input is a Buffer with compressed data
  • output is a Buffer from decompressed data and it have to be pre-allocated, ie. with Buffer.alloc method
  • bufferBits is a number of control buffer bits: 8, 16 or 32 (optional: default: 8)

Example:

// Polish vehicle registration certificate scanned from Aztec 2D barcode
const b64Input = 'BgQAANtYAA...'
const binInput = Buffer.from(b64Input, 'base64')

// 4 first bytes in Aztec code are output length
const outputLength = binInput.readUInt32LE(0)
const utf16Output = Buffer.alloc(outputLength)
const compressedInput = binInput.slice(4)

nrv2eDecompress(compressedInput, utf16Output)

const textOutput = utf16Output.toString('utf16le')

License

Copyright (c) 2018-2021 Piotr Roszatycki piotr.roszatycki@gmail.com

This code is based on UCL data compression library:

Copyright (C) 1996-2002 Markus Franz Xaver Johannes Oberhumer All Rights Reserved.

GPL-2.0

Package Sidebar

Install

npm i nrv2e-decompress

Weekly Downloads

34

Version

1.0.0

License

GPL-2.0

Unpacked Size

30.2 kB

Total Files

10

Last publish

Collaborators

  • dex4er