UDUNITS, the Unidata units C library, supports
conversion of unit specifications between
formatted and binary forms, arithmetic
manipulation of unit specifications, and
conversion of values between compatible scales of
measurement. As of version 2, the unit database is
encoded using human-readable XML.