Как конвертировать LSD в DSL.
Есть такой замечательный словарь-подстрочник-переводчик, как Lingvo. И есть для него великое множество вполне себе неплохих словарей, которые удобно использовать под свои маленькие нужды. Одна проблема — словари находятся в бинарном формате (LSD), поэтому работать с ними неудобно. Гораздо интереснее перевести словарь в текстовый формат — и "дербанить" его тем же Perl’ом или PHP.
В ходе поисков способов получения результата, — а именно, преобразования бинарного LSD в текст, — было обнаружено интересное решение. Оказывается, штатная утилита Dslcomp.exe, которая поставляется с самим Lingvo, прекрасно умеет конвертировать один формат в другой. Правда, по умолчанию, она преобразовывает только текст в бинарник — а вот обратная функция отключена.
И тут мы подходим к самому интересному. Путем несложных манипуляций с Dslcomp.exe, можно включить в ней функцию конвертирования бинарного LSD обратно в обычный текстовый файл (DSL). Для того чтобы это сделать,понадобится обычный HEX-редактор — в файле Dslcomp.exe нужно исправить байт за номером 5A9DD с "01" на "00". После такого преобразования, утилита Dslcomp.exe чудеснейшим образом обретает возможность конвертировать один формат в другой и обратно.
Итого — пару ударов по кнопкам, — и в наших руках словарь в текстовом формате.