BranchDecoder is a recursive, broadly searching, string encoding detection, and decoding library. It attempts to walk through every potential string encoding and assembles an EncodingTree of matched encodings and optionally their intermediate values.
This is in early active development, and not a complete project.