Updated: 11th October 2019




b64: Base-64 Encoding Library (C library with C++ mapping; Platform-independent)

b64 is a very small and simple library that provides Base-64 encoding and decoding, according to RFC-1113, in C and C++.

The b64 core library is a pure standalone component:

It is released under the BSD license, which basically means its free for any use, but you can't claim it's yours.

Base-64 conversion of binary regions, using b64, is available as part of the distribution of Pantheios, the ultimate C++ diagnostic logging API library.

Latest Documentation

As of version 1.4.3, it is available on GitHub at https://github.com/synesissoftware/b64.

Releases:

Date Version Download Comments / Changes
    Distribution Checksum  
4th February 2012 1.4.2 b64-1.4.2.zip (1102778 bytes) b64-1.4.2.md5 (34 bytes)
280ab38289b6a99be3ff29c958df164d
  • General / C-API:
    • added b64_getStatusCodeString(), b64_getStatusCodeStringLength(); deprecated b64_getErrorString() and b64_getErrorStringLength()
    • now implemented shims in terms of b64_getStatusCodeString() and b64_getStatusCodeStringLength()
    • added implicit link support for VC++10
    C++ API:
    • ensures exception bears code B64_RC_TRUNCATED_INPUT when input truncated (it previously was passing B64_RC_OK)
    • abstracted declaration and application of string access shims, in readiness for widestring builds and/or STLSoft 1.10+
    makefiles / project files:
    • added core library names according to implicit link format, i.e. b64.1.core.*
    • added makefile for GCC 4.5
    • added makefile for GCC 4.6
    • added makefile for GCC 4.7
20th January 2010 1.4.1 b64-1.4.1.zip (982046 bytes) b64-1.4.1.md5 (34 bytes)
7660d86d859e2668eb691dc3a43c8c4a
  • General:
    • added test variant for all makefile projects
    • added support for Borland 5.9+
    • preparations for widestring support
    • fixed defect in b64_encode()/b64_encode2()
    C++ API:
    • fixed defective use of std::vector subscript operator
    • improvements in C++ API exception handling, including message and additional information
24th August 2008 1.3.4 b64-1.3.4.zip (382259 bytes) b64-1.3.4.md5 (34 bytes)
6a6cadae4a5f5e7ad41d53675a91ca0c
  • General:
    • fixed printf format-specifier warning in example.2.c
    • fixed warning in GCC 4.x makefile
    • added makefiles for GCC 4.1, 4.2, 4.3
    • added makefiles for VC++ 9
3rd August 2008 1.3.3 b64-1.3.3.zip (418393 bytes) b64-1.3.3.md5 (34 bytes)
9cb2dff13ad6fdccbfa8927fff20cc47
  • General:
    • fixed printf format-specifier warning in example.2.c
    • fixed warning in GCC 4.x makefile
    • added makefiles for GCC 4.1, 4.2, 4.3
    • added makefiles for VC++ 9
13th May 2008 1.3.2 b64-1.3.2.zip (397502 bytes) b64-1.3.2.md5 (34 bytes)
66fe218bfdfc9263219a4517232033bb
  • General:
    • added Win64 compatibility
  • b64 C++-API:
15th March 2008 1.3.1 b64-1.3.1.zip (423769 bytes) b64-1.3.1.md5 (34 bytes)
9ae198d473653de226964babda52f619
  • Distribution:
    • renamed all test/example/sample directories and filenames to fit in with the prevailing standard in all Synesis-related libraries
  • b64 C++-API:
    • added ability to customise namespace name