1.0.0 • Published 3 years ago
nrv2e-decompress v1.0.0
nrv2e-decompress
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 aBuffer
with compressed dataoutput
is aBuffer
from decompressed data and it have to be pre-allocated, ie. withBuffer.alloc
methodbufferBits
is a number of control buffer bits:8
,16
or32
(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.