Номер символа в таблице unicode?

Тема в разделе "Arduino & Shields", создана пользователем e.kopiy, 6 фев 2014.

  1. e.kopiy

    e.kopiy Нуб

    Здравствуйте! Прошу не ругать, если вопрос глуп, т.к. я начинающий) Как можно получить номер символа в таблице unicode? Например, у символа "А" в русском варианте номер 0410. Мне это нужно для конвертации текста в формат pdu формат (Там кодировка UCS2, а она в большей части повторяет UTF-8). Искал готовые библиотеки, нашел несколько, но они не работают.
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

  3. e.kopiy

    e.kopiy Нуб

    Да, только очень не хочется делать огромный switch для каждого символа, а хочется как-то автоматизировано это сделать)
     
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Задача преобразовать именно в своей программе?
    Можно взять отдельный конвертер и им обработать.
     
    e.kopiy нравится это.
  5. e.kopiy

    e.kopiy Нуб

    Именно в своей программе)
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Как вариант, попробуйте расковырять существующие библиотеки и посмотреть, как это реализовано там. А потом напишите свою, опираясь на полученные знания :)
    А switch для каждого символа делать не надо (да и не реально это, учитывая размер таблицы юникода), проверяйте сразу диапазоны символов.
     
    e.kopiy нравится это.
  7. e.kopiy

    e.kopiy Нуб

    Спасибо за предложенный вариант решения проблемы, но я нашел другой способ. Мне, в любом случае нужны только русские символы.
    Ближе к делу:
    Код (Text):
    void setup() {
      Serial.begin(19200);
      wchar_t st = L'Ч';
      Serial.println(st, HEX);
    }

    void loop() {
    }
     
    Этот код выводит "427", то есть код символа в таблице юникод, при конвертировании в HEX формат. Если не конвертировать, то выводит "1063", то есть html код символа.
    Теперь осталось сделать, чтобы он строку символов конвертировать мог, но это уже мелочи.
     
  8. Megakoteyka

    Megakoteyka Оракул Модератор

    Можно еще сразу хранить строки в памяти в виде набора нужных кодов и не нагружать контроллер преобразованием.
     
    e.kopiy нравится это.
  9. e.kopiy

    e.kopiy Нуб

    Дело в том, что мне нужен не определенный набор сообщений, а чтобы я смог отправить любой текст, поэтому, русскую таблицу довольно накладно хранить в памяти. Может я ошибаюсь?)
     
  10. Tomasina

    Tomasina Сушитель лампочек Модератор

    Можно хранить алфавит в EEPROM и извлекать оттуда только нуюжное.
     
    e.kopiy нравится это.
  11. e.kopiy

    e.kopiy Нуб

    Спасибо за совет, попробую)