Просмотр полной версии : Кодировка UTF-8
Добрый день. Как для переменных типа STRING поменять кодировку со стандартной ASСII на UTF-8? Выяснил, что в Codesys версии 3.5.18 и выше достаточно в установках проекта поставить соответствующую галочку. Но у меня версия Codesys 3.5.17 и я так понял, что кодировку я могу прописать только с помощью прагмы {attribute 'monitoring_encoding' := 'UTF8'}. Как и указано в справке Codesys я ее указываю непосредственно перед объявлением переменной типа STRING. Но вижу что Codesys выдает предупреждение вида: Атрибут monitoring_encoding неизвестен и будет проигнорирован компилятором. Что с этим делать? Я получаю данные на ПЛК по OPC в кодировке UTF-8 и плк ее не переваривает и выводит либо белиберду, либо (что чаще происходит) ничего не выводит.
79399
Евгений Кислов
15.10.2024, 10:36
Добрый день.
Что с этим делать?
Например - использовать функцию ConvertUTF8toUTF16 из библиотеки StringUtils для преобразования полученного вами от OPC набор байт (представляющих собой строку в кодировке UTF-8) в переменную типа WSTRING.
Добрый день.
Например - использовать функцию ConvertUTF8toUTF16 из библиотеки StringUtils для преобразования полученного вами от OPC набор байт (представляющих собой строку в кодировке UTF-8) в переменную типа WSTRING.
Можете подсказать как использовать эту функцию?
Евгений Кислов
15.10.2024, 13:46
Можете подсказать как использовать эту функцию?
См. скриншоты.
https://onlinetools.com/utf8/convert-utf8-to-hexadecimal
79407 79408 79409
См. скриншоты.
https://onlinetools.com/utf8/convert-utf8-to-hexadecimal
79407 79408 79409
Сделал по вашему примеру: 79435 - переменные, 79436 - код.
Не работает. Запускаю Multi-Protocol Master OPC Server и вижу что даже туда данные не приходят извне.
Евгений Кислов
16.10.2024, 10:01
Не работает. Запускаю Multi-Protocol Master OPC Server и вижу
Я, к сожалению, этого не вижу.
Свяжитесь, пожалуйста, со мной по телеграм (см. в подписи) и продемонстрируйте это по AnyDesk.
ВладОвен
21.10.2024, 20:02
А если сделать преобразование UTF8_to_UTF16, то нужно строка вдвое длинней?
Евгений Кислов
21.10.2024, 20:26
А если сделать преобразование UTF8_to_UTF16, то нужно строка вдвое длинней?
Это неверное утверждение.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot