Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

Тема: Кодировка cp855

  1. #11
    Пользователь
    Регистрация
    13.01.2018
    Адрес
    Балабаново
    Сообщений
    17

    По умолчанию

    Уж не знаю, заводить ли новую тему или продолжить здесь?
    Пообщался с производителем принтеров, оказалось, что можно его перенастроить на кодировку UTF-8.
    Нашел документацию:
    https://ftp.owen.ru/CoDeSys3/98_Book...Package_ru.pdf
    Оказывается, что можно работать со строками в UTF-8.
    Поддерживают ли текущие версии прошивки эти библиотеки?

  2. #12

    По умолчанию

    Цитата Сообщение от NIMNUL Посмотреть сообщение
    Уж не знаю, заводить ли новую тему или продолжить здесь?
    Пообщался с производителем принтеров, оказалось, что можно его перенастроить на кодировку UTF-8.
    Нашел документацию:
    https://ftp.owen.ru/CoDeSys3/98_Book...Package_ru.pdf
    Оказывается, что можно работать со строками в UTF-8.
    Поддерживают ли текущие версии прошивки эти библиотеки?
    Нет, не поддерживаются.
    Но функции конвертации в UTF8 есть в библиотеке StringUtils.

    Можете связаться со мной через телеграм (в подписи) - поможем с конвертацией в любую кодировку.

  3. #13
    Пользователь
    Регистрация
    13.01.2018
    Адрес
    Балабаново
    Сообщений
    17

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение

    Можете связаться со мной через телеграм (в подписи) - поможем с конвертацией в любую кодировку.
    Спасибо большое за помощь через AnyDesk

  4. #14
    Пользователь
    Регистрация
    13.01.2018
    Адрес
    Балабаново
    Сообщений
    17

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Но функции конвертации в UTF8 есть в библиотеке StringUtils.
    Евгений, я допилил Вашу идею преобразования 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

  5. #15

    По умолчанию

    Цитата Сообщение от 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

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Кодировка строки из MS SQL.
    от Алексей Владимирович Т в разделе СПК210, СПК1xx [М01]
    Ответов: 5
    Последнее сообщение: 05.09.2023, 16:00
  2. Импорт списка тревог кодировка
    от AlexZ в разделе СПК210, СПК1xx [М01]
    Ответов: 3
    Последнее сообщение: 31.03.2022, 13:25
  3. Кодировка в CoDeSys
    от Пьер в разделе ПЛК1хх
    Ответов: 13
    Последнее сообщение: 01.12.2017, 14:55
  4. Портится кодировка
    от _Pavel_ в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 15.12.2012, 19:36

Метки этой темы

Ваши права

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