Перекодировка текста
- 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;
Delphi/Pascal (!). Опера мини ставит лишние пробелы, мог не все убрать.