как перикодировать текст

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Neel
Сообщения: 12
Зарегистрирован: 11 мар 2005, 20:45

Подскажите как написать функцию которая может распознать кодировку текста и переделать его в нормальный
например
до
‚ ў®а®в  Ј®бвЁ­Ёжл ЈгЎҐа­бЄ®Ј® Ј®а®¤  NN ўкҐе «  ¤®ў®«м­® Єа бЁў п
после
В ворот гостиницы губернского город NN въех л довольно кр сив я
Аватара пользователя
LAngel
Сообщения: 277
Зарегистрирован: 30 мар 2005, 08:19
Откуда: Ульяновск
Контактная информация:

создать несколько таблиц перекодировки, и последовательно перекодировать текст ими, а потом поверить полученый текст на допустимость. "Подсчитать ошибки" и у какого варианта "ошибок" будет меньше - выдавать в качестве результата.

перекодировка:

Код: Выделить всё

const
  a1: array[0..255] of byte = ($00, $01 ... и т.д. );
function Translate(S: String): String;
var
  i: Integer;
begin
  Result := '';
  For i:=1 to Length(S) do Result := Result + chr(a1[ord(S[i])]);
end;
Вычисляем кол-во ошибок:

Код: Выделить всё

function ErrorCount(S: String): Integer;
var
  i: Integer;
begin
  Result := 0;
  For i := 1 to Length(S) do
    if not(S[i] in ['0'..'9', 'a'..'z', 'A'..'Z', 'а'..'я', 'А'..'Я', и т.д.]) then Result := Result + 1;
end;
С уважением, Lost Angel...
Neel
Сообщения: 12
Зарегистрирован: 11 мар 2005, 20:45

LAngel писал(а): a1: array[0..255] of byte = ($00, $01 ... и т.д. )]
А что обозначает $00, $01
YurikGL
Сообщения: 142
Зарегистрирован: 16 фев 2005, 21:54
Откуда: Уфа
Контактная информация:

>А что обозначает $00, $01

Коды символов
Ответить