//---------------------------------------------------------------------------AnsiString WinToKoi(const AnsiString St){ char Win_KoiChars[] = { 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}; AnsiString Result=St; for (int i = 1; i St.Length(); i++) { if (int(St[i]) > 127) Result[i] = Win_KoiChars[St[i]]; } return Result;} //---------------------------------------------------------------------------AnsiString KoiToWin(const AnsiString St){ char Koi_WinChars[] = { 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}; AnsiString Result = St; for (int i = 1; i St.Length(); i++) { if (int(St[i]) > 127) Result[i] = Koi_WinChars[St[i]]; } return Result;}
AnsiString WinToKoi(const AnsiString St){ char Win_KoiChars[] = { 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}; AnsiString Result=St; for (int i = 1; i St.Length(); i++) { if ((unsigned char)(St[i]) > 128) Result[i] = Win_KoiChars[(unsigned char)St[i] - 128]; } return Result;} //---------------------------------------------------------------------------AnsiString KoiToWin(const AnsiString St){ unsigned char Koi_WinChars[] = { 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}; AnsiString Result = St; for (int i = 1; i St.Length(); i++) { if ((unsigned char)(St[i]) > 128) Result[i] = Koi_WinChars[(unsigned char)St[i] - 128]; } return Result;}