Delphi - база знаний

       

ѕерекодирование


ѕерекодирование



Ётот алгоритм позвол€ет перекодировать текст.
–еализованы кодировки Windows-1251, KOI8-R, ISO-8859-5 и DOS.
 одировка ? это таблица, в которой указано,
например, что символ под номером 160 - это русска€ буква "а", а под номером 150 ? "÷" и т. д.
 одировки различаютс€ номерами русских букв
(как располагать английские буквы договорились).
–азные компьютеры в »нтернете используют разные кодировки.
» поэтому, когда русский текст идет по »нтернету, его многократно перекодируют.

Ётот алгоритм обеспечивает высокую скорость перекодировани€ больших объемов данных.


procedure TForm1.Button1Click(Sender: TObject);
var
  code1, code2: TCode;
  s: string;
  c: char;
  i: integer;
  chars: array [char] of char;
  str: array [TCode] of string;
begin
  case ComboBox1.ItemIndex of
    1: code1 := koi;
    2: code1 := iso;
    3: code1 := dos;
    else code1 := win;
  end;
  case ComboBox2.ItemIndex of
    1: code2 := koi;
    2: code2 := iso;
    3: code2 := dos;
    else code2 := win;
  end;
  s := Memo1.Text;

  Str[win] := 'јаЅб¬в√гƒд≈е∆ж«з»и…й кЋлћмЌнќоѕп–р—с“т”у‘ф’х÷ц„чЎшўщЏъџы№ьЁэёюя€';
  Str[koi] := 'юёајбЅц÷дƒе≈ф‘г√х’и»й…к лЋмћнЌоќпѕ€яр–с—т“у”ж∆в¬ь№ыџз«шЎэЁщўч„ъЏ';
  Str[iso] := '–р—с“т”у‘ф’х÷ц„чЎшўщЏъџы№ьЁэёюя€аєбЄвРгГдЇеЊж≥зњиЉйЪкЬлЮмЭнІоҐпЯ';
  Str[dos] := 'А Б°ВҐГ£Д§Е•Ж¶ЗІИ®Й©К™Л"МђН­ОЃПѓРа'б'в"г"де?ж?зШиЩйЪкЫлЬмЭнЮоЯп';

  for c := #0 to #255 do
    Chars[c] := c;

  for i := 1 to Length(Str[win]) do
    Chars[Str[code2][i]] := Str[code1][i];

  for i := 1 to Length(s) do
    s[i] := Chars[s[i]];

  Memo2.Text := s;
end;


¬з€то с сайта



—одержание раздела








Forekc.ru
–ефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособи€, лекции, методические пособи€ и рекомендации, программы и курсы обучени€, публикации из профильных изданий