Всем привет. Подскажите, кто в lua шарит. Можно ли какой-нибудь короткой функцией перевести string в массив hex.? например: relay1_on = 'relay,1,1' relay1_off = 'relay,1,0' ....авада кедабра... получаем relay1_on_hex{0x72,0x65....} uart_send_data(relay1_on_hex) И еще я так понял массив по дебильному начинается с индекса 1, а выводится в uart начиная с 0

Комментарии: 13

  1. Shurup

    ща посмотрю. чтото делал вроде такое

    • Dmitriy

      спасибо

      • Bulochka

        заведомо - string уже массив.... и да - условно в хекс) ты себе это видишь как? что хекс это какой-то отдельный тип данных? тебе что надо, байт значения символа в строке? ну ок - из какой кодировки в какую?))

        • Dmitriy

          Ascii

          • Shurup

            :sub это функция по отрезанию куска строки. ты можешь просто строку туда вставить. да

            • Dmitriy

              А зачем мне отрезать кусок от 'relay,1,1' если мне нужна вся команда?

              • Shurup

                да я просто со своего проекта взял как было )

  2. Shurup

    посмотри такое: string.format("%x", string.byte(buf:sub(0, 100))) 0 и 100 от балды, конечно, написал.

    • Dmitriy

      Что такое buf и sub?

      • Shurup

        buf - это строка твоя

  3. Dmitriy

    Корочеее Вот так работает relay1_on = 'relay,1,1' ... local relay1 = {} for i = 1, relay1_on:len() do relay1[i-1] = relay1_on:byte(i) end uart_send_data(relay1)

    • Saw

      капец… это надо же такой язык придумать…

      • Dmitriy

        Луа гавно, да

Не нашли ответ?

Вам также может быть интересно