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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2020, 13:28   #1  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
D365FO как сгенерировать текстовый файл в кодировке ASCII?
Всем привет.

Возникла неожиданная проблема - в D365FO кодировка по умолчанию UTF8. Мне нужно сгенерить текстовый файл в ASCII, не получается.

Не рабочий код.
X++:
public static System.String convert2ASCII_v1(System.String _str)
{
	System.String        retStr;
	System.Text.Encoding Encoding = new System.Text.ASCIIEncoding();
	var                  utf8bytes = Encoding.GetBytes(_str);
	var                  win1252Bytes = System.Text.Encoding::Convert(System.Text.Encoding::UTF8, System.Text.Encoding::ASCII, utf8bytes);
	
	retStr = Encoding.GetString(win1252Bytes);
	return retStr;
}
X++:
public static System.String convert2ASCII_v2(System.String _str)
{
	System.String               retStr;
	System.Text.ASCIIEncoding   ASCIIEncoding;
	System.Byte[]               bytes;
	System.Byte[]               ascii;
	int                         i;
	int                         len;
	int                         val;
	Binary                      bin;

	ASCIIEncoding = new System.Text.ASCIIEncoding();
	bytes = ASCIIEncoding.GetBytes(_str);
	len = bytes.get_Length();
	bin = new Binary(len);
	
	for (i = 0; i < len; i++)
	{
		val = bytes.GetValue(i);
		bin.byte(i, val);
	}

	ascii = new System.Byte[len]();
	
	for (i = 0; i < len; i++)
	{
		ascii.SetValue(System.Convert::ToByte(bin.byte(i)), i);
	}
	
	retStr = ASCIIEncoding.GetString(ascii);
}
Помогите с идеями.
Старый 22.12.2020, 14:35   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
поискал, нашел пример
вот такой код писал в 4-ке и в 12-ке
Попробуйте поставить другую кодировку
X++:
    netEncoding = System.Text.Encoding::get_UTF8();
    netBoolFalse = false;

    netPath = pathFileIn;
    netText = _strComVariant ? _strComVariant.bStr() : '';
    netSw = new System.IO.StreamWriter(netPath, netBoolFalse, netEncoding);
    netSw.Write(netText);
    netSw.Flush();
    netSw.Dispose();
    netSw = null;
Старый 22.12.2020, 14:40   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Вот еще про перевод
записать файл в UTF-кодировке
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Открыть файл в UTF кодировке в ах3 Nasty2409 DAX: Программирование 4 27.06.2019 14:06
записать файл в UTF-кодировке Atani DAX: Программирование 46 09.05.2015 10:37
Открыть текстовый файл ansi (win1251) на нерусифицированной Windows. Denicce DAX: Программирование 9 03.03.2011 15:25
Экспорт / сохранение отчета в ASCII файл valentino DAX: Программирование 7 18.02.2008 11:57
Экспорт накладных в текстовый файл SNG DAX: Программирование 20 13.11.2003 16:31

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:12.