Translator applications are either specific or general converters. A specific converter translates directly from one code system to another one without the creation of an intermediate representation. Specific converters are fast, but also restricted in that they can only handle one code table pair - n code tables require specific converters.
General converters map the source code table to a general representation and then translate from this general representation to the target code table. For a lossless translation, the general representation has to cover all possible source or target code tables; for a lossy translation, partial coverage is sufficient.
General converters require two mapping steps, and the general representation may exceed both the space and time requirements of the source or target code tables.
ISO 8859 and the Unicode standard have shown to be very useful general representations for the translation of character code tables. This is especially true for electronic communication, e.g. mail, news, and the World Wide Web.
A general character code conversion tool is C3, developed at KTH in Sweden. It is in the public domain and can be obtained from
http://www.nada.kth.se/i18n/c3/
The code tables it can handle include US-ASCII, ISO 8859-X, and Unicode, amongst others.