Как конвертировать строку из Unicode GB2312 или UCS2
- Войдите на сайт для отправки комментариев
Пт, 10/11/2017 - 23:38
Гуглил дня три, заманался, не соображу никак.
Есть модуль А6, короче надо функцию, чтоб прочесть текст входящего смс и скинусть в serial.
Пример куска текста при AT+CSCS=GSM
§б§в§Ъ§Ю§Ц§в §д§Ц§Ь§г§д§С
В дальнейшем надо будет вытащить команду, но это уже отдельная история, хотябы просто конвертировать в русский текст. ПОЖАЛУЙСТА ПОМОГИТЕ.
если это будет команда - используйте латиницу и текстовой режим CMC (AT+CMGF=1) - ничего перекодировать вообще не понадобится
А русский язык в автоматике вообще не нужен.
А русский язык в автоматике вообще не нужен.
У мну есть, для удобства :) Послал контроллеру СМС "Поц, отжаться!", а он тебе взял - и отжался :) Крови попило это PDU, правда - жуть.
Да уж, разбираясь в этом протоколе всегда посещал вопрос - ну какую такую петрушку курили авторы pdu
если это будет команда - используйте латиницу и текстовой режим CMC (AT+CMGF=1) - ничего перекодировать вообще не понадобится
А русский язык в автоматике вообще не нужен.
Просто для автопополнения баланса нужно считать код подтверждения и отправить обратно, а смс на русском.
DIYMan, Поделитесь, пожалуйста.
В дальнейшем надо будет вытащить команду, но это уже отдельная история, хотябы просто конвертировать в русский текст. ПОЖАЛУЙСТА ПОМОГИТЕ.
Смотри, вот тут выкладывал код кодировки кирилицы в UCS2 который используется в PDU. Думаю написать обратный алгоритм раскодировки по нему не сложно.
Но сразу предупреждаю код ужастный!
http://arduino.ru/forum/programmirovanie/pomogite-razobratsya-chto-za-gl...
MaksVV так вы в итоге зазобрались с кодированием декодированием?
Я тоже был очень удивлен что номер телефона кодируется одним способом, тело сообщения другим, видимо писали разные люди, кто из китая кто из индии, а потом где нибудь в средней азии соединили это все для отправки командой AT+CMGS
Хотя предисторию никто не рассказал, может это для совместимости с каким нибудь аппаратным кодером/декодекром.
Одно обидно, что под кирилицу отводится всего 70 символов, а вот для латиницы сделали правильно, 7ми быитный формат ужимают и отправить в 140 байтах можно 160 символов.
Как тут правильно заметили для автоматики кирилица не нужна, а вот для души я делаю поддержку русского. Приятно когда нормальные смс приходят.
В дальнейшем надо будет вытащить команду, но это уже отдельная история, хотябы просто конвертировать в русский текст. ПОЖАЛУЙСТА ПОМОГИТЕ.
Смотри, вот тут выкладывал код кодировки кирилицы в UCS2 который используется в PDU. Думаю написать обратный алгоритм раскодировки по нему не сложно.
Но сразу предупреждаю код ужастный!
http://arduino.ru/forum/programmirovanie/pomogite-razobratsya-chto-za-gl...
MaksVV так вы в итоге зазобрались с кодированием декодированием?
Я тоже был очень удивлен что номер телефона кодируется одним способом, тело сообщения другим, видимо писали разные люди, кто из китая кто из индии, а потом где нибудь в средней азии соединили это все для отправки командой AT+CMGS
Хотя предисторию никто не рассказал, может это для совместимости с каким нибудь аппаратным кодером/декодекром.
Одно обидно, что под кирилицу отводится всего 70 символов, а вот для латиницы сделали правильно, 7ми быитный формат ужимают и отправить в 140 байтах можно 160 символов.
Как тут правильно заметили для автоматики кирилица не нужна, а вот для души я делаю поддержку русского. Приятно когда нормальные смс приходят.
Благодарю, но всё же надёюсь на помощь с декодированием. Может есть знатоки, которые с этим сталкивались.
Дык, чем помогать-то, перевести ucs2 из смски в utf8? Ну, давайте, я нагуглю уже готовый код вместо вас:
https://github.com/RoelofBerg/Utf8Ucs2Converter/blob/master/Utf8Ucs2Conv...
Благодарю, но всё же надёюсь на помощь с декодированием. Может есть знатоки, которые с этим сталкивались.
интересно, на какую еще помощь вы рассчитываете, если вам уже дали готовый код? Что кто-то его встроит прямо в ваш скетч? - "этто вряд ли" (с)
Всем спасибо