Win1251 в-из Koi8r

Материал из DRKB


type
  TConvertChars = array[#128..#255] of Char;

const
  Win_KoiChars: TConvertChars = 
   (#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,
    #060,#139,#140,#141,#142,#143,#144,#145,#146,#147,
    #148,#169,#150,#151,#152,#153,#154,#062,#176,#157,
    #183,#159,#160,#246,#247,#074,#164,#231,#166,#167,
    #179,#169,#180,#060,#172,#173,#174,#183,#156,#177,
    #073,#105,#199,#181,#182,#158,#163,#191,#164,#062,
    #106,#189,#190,#167,#225,#226,#247,#231,#228,#229,
    #246,#250,#233,#234,#235,#236,#237,#238,#239,#240,
    #242,#243,#244,#245,#230,#232,#227,#254,#251,#253,
    #154,#249,#248,#252,#224,#241,#193,#194,#215,#199,
    #196,#197,#214,#218,#201,#202,#203,#204,#205,#206,
    #207,#208,#210,#211,#212,#213,#198,#200,#195,#222,
    #219,#221,#223,#217,#216,#220,#192,#209);

  Koi_WinChars: TConvertChars = 
   (#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,
    #138,#139,#140,#141,#142,#143,#144,#145,#146,#147,
    #148,#149,#150,#151,#152,#153,#218,#155,#176,#157,
    #183,#159,#160,#161,#162,#184,#186,#165,#166,#191,
    #168,#169,#170,#171,#172,#173,#174,#175,#156,#177,
    #178,#168,#170,#181,#182,#175,#184,#185,#186,#187,
    #188,#189,#190,#185,#254,#224,#225,#246,#228,#229,
    #244,#227,#245,#232,#233,#234,#235,#236,#237,#238,
    #239,#255,#240,#241,#242,#243,#230,#226,#252,#251,
    #231,#248,#253,#249,#247,#250,#222,#192,#193,#214,
    #196,#197,#212,#195,#213,#200,#201,#202,#203,#204,
    #205,#206,#207,#223,#208,#209,#210,#211,#198,#194,
    #220,#219,#199,#216,#221,#217,#215,#218);

function Win_KoiConvert(const St: string): string;
var
  i: Integer;
begin
  Result := St;
  for i := 1 to Length(St) do
    if St[i] > #127 then
      Result[i] := Win_KoiChars[St[i]];
end;


Author: Автор: Song
Source: http://forum.sources.ru
ID: 04287