Че-то там как-то мощно. Я ожидал небольшой класс)
А ты считаешь это тривиальной задачкой?
Не тривиальной конечно. Но вполне можно уложить в одну большую функцию (для трех кодировок KOI, WIN, DOS), мне кажется.
Попробую реализовать алгоритм по ссылке выше.