Показать сообщение отдельно
Старый 21.08.2012, 19:24   #1  
Ar is offline
Ar
Участник
Аватар для Ar
Злыдни
 
21 / 20 (1) +++
Регистрация: 27.06.2005
Адрес: Москва
Преобразование строк UTF-8 в ANSI в DAX 2009 (без файловых операций)
Искал по форуму, многие ссылаются на класс для DAX 3.0 или на вот это решение из той же ветки.
Есть решение проще (без функции и прав записывается в одну строку):
X++:
str utf2ansi(str _text)
{
    System.Text.Encoding    encodingUTF;
    System.Text.Encoding    encodingWin;
    str                     ret;

    new InteropPermission(InteropKind::ClrInterop).assert();

    encodingUTF = System.Text.Encoding::get_UTF8();
    encodingWin = System.Text.Encoding::GetEncoding(1251);

    ret = encodingUTF.GetString(System.Text.Encoding::Convert(encodingUTF, encodingWin, encodingUTF.GetBytes(_text)));

    CodeAccessPermission::revertAssert();

    return ret;
}
Наслаждайтесь... )))