Страница 2 из 6

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 11 сен 2020, 14:14
Sertik
Не ко всем модемам есть словари. Вы же сами это констатировали - не удается нормально наладить работу Вашего скрипта с SMS PDU Микротиковских родных модемов - нет хороших словарей. А может там и "обрезание" специально какое ни то сделано от Микротик, чтобы только они и больше никто.
Надо Хуавей покупать ... Но эту дискуссию лучше вести в обсуждении Вашего скрипта. Пока он к сожалению "для избранных", а мой работает у тех кто может его нормально "скопипастить" с форума или со статьи на Хабре :-)
Может воспользуюсь Вашим советом и перебью массив с ключами в виде кодов символов в 1251, но у меня и так работает, это ведь тоже не коммерческий продукт. ::yaz-yk:

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 15 сен 2020, 22:48
Sertik
Единственно, что ещё можно включить - это поддержку отображения символа № (русского номера), что и сделал заменив его на английский обычный аналог (отображаться будет как #). Тогда будут поддерживаться все символы, которые можно набрать с русской клавиатуры. Зачем поддерживать отображения в Телеграмм символов, которые нельзя набрать в Микротике с клавиатуры - не понимаю, Телеграмм всё равно не сможет многие из них адекватно отобразить, придется заменять их кодами смайликов, а это уже не две шестнадцатиричные цифры - для них нужно менять алгоритм сборки строки. Так что ну их на х ...
В том виде как функция есть она маленькая и отрабатывает на все 100%, громоздить не стоит.

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 16 сен 2020, 16:27
Sertik
Дополнительно к функции-конвертеру сделал функцию транслитерации русских символов. Также можно использовать для отправки сообщений в Телеграмм или ещё для каких нужд.
https://habr.com/ru/post/519406/

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 17 сен 2020, 18:15
pepelxl
вообщем , поддержка соизволила спустится до обычных смертных.
официальный ответ
Hello,
Thank you for contacting MikroTik Support.
Please use the ones that are working, there is no need to encode and translate all possible transcriptions, hex codes are not supported as keys.
Best regards,
Не, ну не дол.....ы?
Это я к тому, что вот этот синтаксис работает:

Код: Выделить всё

:local array {"\48="\48";"I"="\49"}
а синтаксически правильный нет

Код: Выделить всё

:local array {"\48"="\48";"I"="\49"}
в любом случаи задачу можно легко решить через два массива, но читаемость никакая

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 17 сен 2020, 19:23
Sertik
Даже если бы шестнадцатиричные коды поддерживались бы в качестве ключей ... Никак не могу придумать как осуществить на практике Ваше наставление - перебить мой массив кодами символов в виде ключей.

То есть было скажем [:toarray {"А"="D090"; "Б"="D091"; .... и т.д....
Ну сделаю я [:toarray {"90"="D090"; "91"="D091"; и т д....

А как потом мне сравнить символ извлекаемый из строки с его кодом ? В микротик ведь нет функции преобразования символа в его код. Значит надо самому преобразовать как-то. Я в этом мягко говоря .... У Вас нет скрипта готового для преобразования символа в его код 1251 кодировки ?

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 17 сен 2020, 19:35
pepelxl
В рос есть возможность указывать символ в hex. Для этого есть слеш перед указанием значения. То есть запись "H" равна "/48",но при указании ключей это не работает, вот я и написал в поддержку.

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 17 сен 2020, 19:58
Sertik
Это я знаю. А нельзя что ли указать ключ в десятичном виде ?

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 17 сен 2020, 21:13
pepelxl
Здрасте, приехали, кто-то хвалился хорошим знанием ассемблера. Указание числом - это написание типа num. А это 64-битное беззнаковое число и займёт оно восьмибайтовый регистр.; символ в тексте это байт и займёт он однобайтный регистр; сравнивать их на прямую не верно, придётся делать приведение типов, а это гимор и плохой код.
Хотя в целом идея имеет место быть, но правильнее переводить изначальный текст в hex значения. В скриптах рос нет прямого приведения типов, а придумать с ходу костыль у меня не получилось.

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 18 сен 2020, 09:11
Sertik
Здрасте ! Жаль, что в Микротик РОС нет Ассемеблера, а знанием LUA я не хвалился. Значит пока останется как есть. Главное - работает !
Ну фиг бы с ним с плохим кодом. Лучше подскажите как перевести 10 значное число от 0 до 255 в его шестнадцатиричный код на LUA Микротик.

Re: Функция-конвертер строки для отправки сообщений в Телеграмм

Добавлено: 18 сен 2020, 10:53
pepelxl
Лучше подскажите как перевести 10 значное число от 0 до 255 в его шестнадцатиричный код на LUA Микротик.
вашу хотелку можно понять двояко, если не трояко.
10 значное число это число с 10 знаками. Или вам надо отобразить число записанное в десятеричной системе счисления в шестнадцатеричной форме?
И в каком типе переменной будет исходное число и целевое?
Нужен пример в коде, тогда и ответ будет соответствующий.