Skip to content

Pixelnetica/stlencoders

 
 

Repository files navigation

stlencoders - Generic Base2/16/32/64 encoding algorithms for C++
================================================================

stlencoders is a C++ implementation of the Base16, Base32 and Base64
encoding schemes as defined in RFC 4648.  Base2, i.e. binary encoding,
is also supported.

In a nutshell, the stlencoders library

* implements encoding and decoding operations as generic algorithms
  that operate on STL-style iterators

* supports different encoding alphabets using custom traits classes

* supports wide-character encodings (at least on platforms where the
characters from the portable C execution set correspond to their wide
character equivalents by zero extension)

* comes with full documentation and an extensive unit test suite

* is implemented as a header-only library, i.e. requires no
  separately-compiled library binaries or special treatment when
  linking

* is designed to be highly portable and has been tested on Windows and
  Linux with a number of different compilers

* provides reasonable performance that matches most (if not all)
  alternative implementations

stlencoders is released under the MIT License, see the file "COPYING"
for more information.

stlencoders is hosted on GitHub:

* https://github.com/stlencoders/stlencoders


Quick Installation
==================

Since stlencoders is a header-only library, you can simply copy the
contents of the "include" directory to a location in your C++
compiler's include path, e.g. /usr/local/include on UN*X systems.


Building on UN*X/Linux/Mac OS X
===============================

Quite simply:

  ./configure
  make
  make check
  make install

Configure has many additional options; see the INSTALL file or run

  ./configure --help

for details.


Building on Microsoft Windows
=============================

A Microsoft Visual Studio 2012 Solution File (stlencoders.sln) is
provided, which can be used to build the example programs and unit
tests.


Building Debian packages
========================

To build binary packages for the Debian GNU/Linux distribution, run

  dpkg-buildpackage -rfakeroot

This will create the following packages:

* libstlencoders-bin_<VERSION>_<ARCH>.deb: utility programs

* libstlencoders-dev_<VERSION>_all.deb: library headers and examples

* libstlencoders-doc_<VERSION>_all.deb: documentation

The packages can then be installed via

  dpkg -i <FILENAME>

into system standard locations.


Examples
========

stlencoders comes with a couple of example programs located in the
"src" directory, which mainly serve to illustrate use of the library,
but may also be useful in their own rights:

* stlencode: encodes a file, or standard input, to standard output.

* stldecode: decodes a file, or standard input, to standard output.

* stlbench: measures the performance of the supported
  encoding/decoding algorithms; optionally compares these figures to
  those of other encoding libraries available on your system.

About

Generic Base2/16/32/64 Encoding Algorithms for C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.5%
  • Shell 0.5%