libguess is a high speed, open source character set encoding detector. libguess employs discrete-finite automata to deduce the character set of the input buffer. The advantage of this is that all character sets can be checked in parallel, and quickly.

Just include libguess.h and link to libguess to get these functions in your program. For your convenience, a pkg-config file is also supplied. libguess employs discrete-finite automata to deduce the character set of the input buffer. The advantage of this is that all character sets can be checked in parallel, and quickly. Right now, libguess passes a byte to each DFA on the same pass, meaning that the winning character set can be deduced as efficiently as possible.

libguess is fully reentrant, using only local stack memory for DFA operations.

You can find the latest development branch of libguess on the Atheme GitHub. You can also find a list of code releases below:

Documentation for libguess functions can be found in the README on GitHub.