Показать сообщение отдельно
Старый 24.11.2010, 20:10   #10  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Угу, насчет .NET согласен.
Вот так можно без промежуточных файлов работать с UTF8
X++:
{
    System.Text.UTF8Encoding    UTF8Encoding;
    System.Byte[]               bytes;
    System.Byte[]               utf8;
    int i;
    int len;
    int val;
    Binary  bin;
    ;
    UTF8Encoding = new System.Text.UTF8Encoding();
    bytes = UTF8Encoding.GetBytes("Строка UTF8");
    len = bytes.get_Length();
    bin = new Binary(len);
    for (i=0;i<len;i++)
    {
        val = bytes.GetValue(i);
        bin.byte(i, val);
    }
    info(bin.string(0));
    
    utf8 = new System.Byte[len]();
    for (i=0;i<len;i++)
        utf8.SetValue(System.Convert::ToByte(bin.byte(i)), i);

    info(UTF8Encoding.GetString(utf8));
}
По сути вопроса - возможно, проблемы из-за того, что строки теперь юникодные и преобразование на каком-то этапе идет неправильно.
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Logger (5), Sergey Petrov (1).