Цитата Сообщение от NIMNUL Посмотреть сообщение
Евгений, я допилил Вашу идею преобразования Unicod в UTF8. Посмотрите, правильно ли?
Сначала, думал "склеивать" hex-коды в цикле, но потом нашёл решение через указатели.

VAR

// Конвертация Unicode -> UTF8
MyString: WSTRING;
abyUtf8: ARRAY [1..99] OF BYTE;
xConvert: BOOL;
ptrString : POINTER TO STRING(99);
outString : STRING;
END_VAR

PLC_PRG
IF xConvert THEN

STU.ConvertUTF16toUTF8(ADR(MyString), ADR(abyUtf8), SIZEOF(abyUtf8), FALSE);
ptrString := ADR(abyUtf8);
outString := ptrString^;
xConvert := FALSE;

END_IF
Чуть проще (и корректнее):

Код:
IF xConvert THEN
	
	STU.ConvertUTF16toUTF8(ADR(MyString), ADR(outString), SIZEOF(outString), FALSE);

END_IF