Содержание материала

 

Этот алгоритм позволяет перекодировать текст. Реализованы кодировки Windows-1251, KOI8-R, ISO-8859-5 и DOS. Кодировка – это таблица, в которой указано, например, что символ под номером 160 - это русская буква "а", а под номером 150 – "Ц" и т. д. Кодировки различаются номерами русских букв (как располагать английские буквы договорились). Разные компьютеры в Интернете используют разные кодировки. И поэтому, когда русский текст идет по Интернету, его многократно перекодируют.

 

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

 

Code:

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] := 'РрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяа?б?в?г?д?е?ж?з?и?йsк?лzм?н§о?пY';

Str[dos] := '€ ??‚???„¤…?†¦‡§??‰©S?‹"?¬?­Z®???а'б'в“г”д•е–ж—з?и™йsк›л?м?нzоYп';

 

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;

 

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить