str dos2ansi(str _str)
{
str res;
InteropPermission interopPerm;
System.Text.Decoder dec;
System.String buff;
System.Text.Encoding Dos;
System.Text.Encoding Ansi;
System.Text.Encoding Utf;
System.Byte[] ba;
int len;
System.Char[] ca;
;
interopPerm = new InteropPermission(InteropKind::ClrInterop);
interopPerm.assert();
Dos = System.Text.Encoding::GetEncoding(866);
Ansi = System.Text.Encoding::GetEncoding(1251);
dec = Dos.GetDecoder();
ba = Ansi.GetBytes(_str);
len = dec.GetCharCount(ba, 0, ba.get_Length());
ca = new System.Char[len]();
dec.GetChars(ba, 0, ba.get_Length(), ca, 0);
res = new System.String(ca);
CodeAccessPermission::revertAssert();
return res;
}
|