Всем привет.
Возникла неожиданная проблема - в 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);
}
Помогите с идеями.