AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.07.2014, 17:03   #1  
Vasil is offline
Vasil
Участник
Аватар для Vasil
 
37 / 10 (1) +
Регистрация: 29.06.2011
Cool Перекодировка текста из Ansi в Unicode
Перекодировка текста из Ansi в Unicode при импорте из файла Excel в Microsoft Dynamics AX 2009
Старый 22.07.2014, 17:37   #2  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Вот пример кода для перекодировки текста:
X++:
    str                     ret;

    System.Text.Encoding    encodingSource  = System.Text.Encoding::get_Default();
    System.Text.Encoding    encodingDest    = System.Text.Encoding::get_Unicode();
    System.Byte[]           buff            = encodingSource.GetBytes("sourceStr");
    str                     dest            = encodingDest.GetString(buff);
Пример кода взят из этой темы. Можете заглянуть.
Старый 23.07.2014, 12:00   #3  
Vasil is offline
Vasil
Участник
Аватар для Vasil
 
37 / 10 (1) +
Регистрация: 29.06.2011
Спасибо Cardagant
Я что-то получил, но мне необходимо получить перекодировку текста ANSII на руском языке в Unicode!!!
Старый 23.07.2014, 14:11   #4  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Вожно воспользоваться winapi

client static binary MultiByteToWideChar(str inS)
{
DLL _dll = new DLL("KERNEL32.dll");
DLLFunction _MultiByteToWideChar = new DLLFunction(_dll, "MultiByteToWideChar");
Binary bin = new Binary (10240);
Binary res = new Binary (10240 * 2);
int len;
int i;
;

_MultiByteToWideChar.arg(ExtTypes:Word, ExtTypes:Word, ExtTypes::Pointer, ExtTypes:Word,
ExtTypes::Pointer, ExtTypes:Word);
_MultiByteToWideChar.returns(ExtTypes:Word);

len = strLen(inS);
bin.string(1, inS);

_MultiByteToWideChar.call(65001, 0, bin, len, res, len);
return res;
}

Это функция для перекодировки

С уважэением, Дмитрий.
Старый 23.07.2014, 15:12   #5  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Тогда прошу попробовать ещё один пример из вышеуказанной темы:

X++:
    str     ret;

    System.Text.Encoding    encAnsi;
    System.Text.Encoding    encUni;

    System.Byte[]           bytesAnsi;
    System.Byte[]           bytes;
    ;

    encAnsi     = System.Text.Encoding::get_Default();
    encUni      = System.Text.Encoding::get_Unicode();

    bytesAnsi   = encAnsi.GetBytes("Моя строка");

    bytes = System.Text.Encoding::Convert(encAnsi, encUni, bytesAnsi);
    ret = encUni.GetString(bytes);
Теги
ansi, unicode, кодировка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Открыть текстовый файл ansi (win1251) на нерусифицированной Windows. Denicce DAX: Программирование 9 03.03.2011 15:25
Файлы XML, CSV, HTML в кодировке Unicode EVGL DAX: База знаний и проекты 3 16.01.2009 14:23
Финансовые отчеты и Unicode - проблемы выравнивания Qaz Qwerty DAX: Программирование 0 28.10.2008 03:41
Передать Unicode-символ в Excel Vpooh DAX: Программирование 1 28.02.2004 22:22
Автозавершение текста slava DAX: Функционал 4 30.12.2001 00:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:06.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.