libbytesize 2.2 Tiny C library for working with arbitrary big sizes in bytes

The goal of this project is to provide a tiny library that would facilitate the common operations with sizes in bytes. Many projects need to work with sizes in bytes (be it sizes of storage space, memory...) and all of them need to deal with the same issues like:

  • How to get a human-readable string for the given size?

  • How to store the given size so that no significant information is lost?

  • If we store the size in bytes, what if the given size gets over the MAXUINT64 value?

  • How to interpret sizes entered by users according to their locale and typing conventions?

  • How to deal with the decimal/binary units (MB versus MiB) ambiguity?

libbytesize offers a generally usable solution that could be used by every project that needs to deal with sizes in bytes. It is written in the C language with thin bindings for other languages.