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

Этот алгоритм позволяет перекодировать текст.

Реализованы кодировки 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] := 'РрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяа№бёвђгѓдєеѕжізїијйљкњлћмќн§оўпџ';

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;

 

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

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

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

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


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