EVK написал(а):
Гм... Такую злобную перекодировку делать (тьфу 3 раза через плечо) не приходилось

Ну алгоритм то можно придумать... Самый тупой вариант - на стороне исходной системы пронумеровать (1, 2, 3 и т.п.) все длинные коды, номер внести в справочник, тоже на стороне исходной системы. При возникновении нового значения длинного кода в исходной системе обязательно давать новый номер, наименьший свободный.
Манипуляции с исходной системой полностью исключены.
Я предположил, что под перекодировкой вы подразумевали сжатие кода ">60" в код "<=60"....
Ваш в"самый тупой вариант" не подходит, т.к. потребует огромных доработок исходной системы, которые ВООБЩЕ исключены.
Необходим нерандомный алгоритм сжатия небольшой строки (до 256) к длине не более 60, с гарантированным неповторяющимся результатом при сжатии различающихся строк.
Господа, есть гениальные идеи? Типа, арифметическое сжатие, двоичные деревья и т.д. и т.п....?
