#ifndef VARICODE_H #define VARICODE_H /** * (C) 2018 Jordan Sherer - All Rights Reserved **/ #include #include #include #include #include class Varicode { public: //Varicode(); static QStringList parseCallsigns(QString const &input); static QStringList parseGrids(QString const &input); static QList> huffEncode(QString const& text); static QVector huffFlatten(QList> &list); static QString huffDecode(QVector const& bitvec); static QVector strToBits(QString const& bitvec); static QString bitsToStr(QVector const& bitvec); static QVector intToBits(quint64 value, int expected=0); static quint64 bitsToInt(QVector const value); static quint8 unpack5bits(QString const& value); static QString pack5bits(quint8 packed); static quint16 unpack16bits(QString const& value); static QString pack16bits(quint16 packed); static quint32 unpack32bits(QString const& value); static QString pack32bits(quint32 packed); static quint64 unpack64bits(QString const& value); static QString pack64bits(quint64 packed); }; #endif // VARICODE_H