Страница 1 из 1

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

Добавлено: 01 июн 2005, 22:36
Neel
Подскажите как написать функцию которая может распознать кодировку текста и переделать его в нормальный
например
до
‚ ў®а®в  Ј®бвЁ­Ёжл ЈгЎҐа­бЄ®Ј® Ј®а®¤  NN ўкҐе «  ¤®ў®«м­® Єа бЁў п
после
В ворот гостиницы губернского город NN въех л довольно кр сив я

Добавлено: 02 июн 2005, 08:19
LAngel
создать несколько таблиц перекодировки, и последовательно перекодировать текст ими, а потом поверить полученый текст на допустимость. "Подсчитать ошибки" и у какого варианта "ошибок" будет меньше - выдавать в качестве результата.

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

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

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;

Добавлено: 02 июн 2005, 23:07
Neel
LAngel писал(а): a1: array[0..255] of byte = ($00, $01 ... и т.д. )]
А что обозначает $00, $01

Добавлено: 03 июн 2005, 07:43
YurikGL
>А что обозначает $00, $01

Коды символов