![]() |
#1 |
Участник
|
![]()
Перекодировка текста из Ansi в Unicode при импорте из файла Excel в Microsoft Dynamics AX 2009
|
|
![]() |
#2 |
Участник
|
Вот пример кода для перекодировки текста:
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); |
|
![]() |
#3 |
Участник
|
Спасибо Cardagant
Я что-то получил, но мне необходимо получить перекодировку текста ANSII на руском языке в Unicode!!! |
|
![]() |
#4 |
Участник
|
Вожно воспользоваться 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: ![]() ![]() ![]() ExtTypes::Pointer, ExtTypes: ![]() _MultiByteToWideChar.returns(ExtTypes: ![]() len = strLen(inS); bin.string(1, inS); _MultiByteToWideChar.call(65001, 0, bin, len, res, len); return res; } Это функция для перекодировки С уважэением, Дмитрий. |
|
![]() |
#5 |
Участник
|
Тогда прошу попробовать ещё один пример из вышеуказанной темы:
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); |
|