реклама на сайте
подробности

 
 
> Отправка SMS кирилицей
blox
сообщение Jul 24 2010, 18:32
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 18-07-10
Из: Челябинск
Пользователь №: 58 496



Извиняюсь за столь избитый вопрос,
подскажите пожайлуста как лучше работать с SMS на русском языке?
я только начал знакомиться с SIM300, видел что он будет снят с производства, но он у меня уже есть rolleyes.gif
SIM300 поддерживает передачу как в текстовом режиме так и в pdu, какой режим лучше выбрать?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sobr
сообщение Jul 26 2010, 03:04
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Может чем и поможет?
Go to the top of the page
 
+Quote Post
Master of Nature
сообщение Jul 26 2010, 05:20
Сообщение #3


Мыслящий
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270



Цитата(sobr @ Jul 26 2010, 07:04) *

Лучше скачайте оттуда и выложите сюда, т.к. там для скачивания требуется регистрация.


--------------------
FAQ по AD
Форум по AD
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью.
...стоит запомнить ...вернее задуматься.
Go to the top of the page
 
+Quote Post
sobr
сообщение Jul 26 2010, 06:35
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Цитата(Master of Nature @ Jul 26 2010, 12:20) *
Лучше скачайте оттуда и выложите сюда, т.к. там для скачивания требуется регистрация.

Зачем мне от туда скачивать, это моя утилита.Прикрепленный файл  ucs2.rar ( 852.25 килобайт ) Кол-во скачиваний: 134
Go to the top of the page
 
+Quote Post
etoja
сообщение Jul 26 2010, 06:50
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Вот официальные кодировки. Не забудьте прочитать параграф Terms of Use, где написано, что использование
этих кодировок в коммерческих целях требует письменного разрешения.
Прикрепленные файлы
Прикрепленный файл  cyrillic_unicode.pdf ( 262.04 килобайт ) Кол-во скачиваний: 123
 
Go to the top of the page
 
+Quote Post
blox
сообщение Jul 26 2010, 08:40
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 18-07-10
Из: Челябинск
Пользователь №: 58 496



А не подскажите каким лучше методом воспользоваться: создать таблицу и и сравнивать табличным методом или
есть более рациональные методы?
Go to the top of the page
 
+Quote Post
Master of Nature
сообщение Jul 26 2010, 08:59
Сообщение #7


Мыслящий
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270



Цитата(blox @ Jul 26 2010, 12:40) *
А не подскажите каким лучше методом воспользоваться: создать таблицу и и сравнивать табличным методом или
есть более рациональные методы?

Вообще-то коды можно пересчитывать из ASCII (как вариант) или как-то по-другому.
Но в любом случае, подумайте, а в каком виде вы будете вводить эти строки в программу?
Для автоматизированной обработки необязательно пользоваться русским языком. А для удобства восприятия - вы все равно сделаете набор строковых констант. Так что, достаточно один раз перекодировать.


--------------------
FAQ по AD
Форум по AD
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью.
...стоит запомнить ...вернее задуматься.
Go to the top of the page
 
+Quote Post
blox
сообщение Jul 26 2010, 12:06
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 18-07-10
Из: Челябинск
Пользователь №: 58 496



Цитата(Master of Nature @ Jul 26 2010, 14:59) *
Вообще-то коды можно пересчитывать из ASCII (как вариант) или как-то по-другому.
Но в любом случае, подумайте, а в каком виде вы будете вводить эти строки в программу?
Для автоматизированной обработки необязательно пользоваться русским языком. А для удобства восприятия - вы все равно сделаете набор строковых констант. Так что, достаточно один раз перекодировать.

Да я так и думаю сделать, но пока ума не приложу как обрабатывать входные смс которые будут введены кирилицей.
Огромное спасибо за пример Samodelkin буду пробовать, пока ещё не всё понял, но в процессе думаю разберусь rolleyes.gif
Go to the top of the page
 
+Quote Post
Samodelkin
сообщение Jul 26 2010, 12:20
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 29-05-05
Из: Днепропетровск
Пользователь №: 5 520



Цитата(blox @ Jul 26 2010, 14:06) *
Да я так и думаю сделать, но пока ума не приложу как обрабатывать входные смс которые будут введены кирилицей.
Огромное спасибо за пример Samodelkin буду пробовать, пока ещё не всё понял, но в процессе думаю разберусь rolleyes.gif


А это обратное преобразование. Т.е. из каждых 4-х байт одного символа из GSM модуля в формате ASCII формирование одного 16-разрядного символа в Юникоде. Например, из 4-х байт 0х30, 0х34, 0х31, 0х30 формируеься один байт 0х0410 что соответствует букве "А" русского алфавита. На изящность програмного решения не претендую. Но работает без проблем.

unsigned int dig1 = перый символ из 4-х
unsigned int dig2 = второй символ из 4-х
unsigned int dig3 = третий символ из 4-х
unsigned int dig4 = четвертый символ из 4-х

if((dig1 >= 0x30) && (dig1 <= 0x39)) {dig1 = 0x000F&dig1;}
else if((dig1 >= 0x41) && (dig1 <= 0x46)) {dig1 -= 0x37;}
if((dig2 >= 0x30) && (dig2 <= 0x39)) {dig2 = 0x000F&dig2;}
else if((dig2 >= 0x41) && (dig2 <= 0x46)) {dig2 -= 0x37;}
if((dig3 >= 0x30) && (dig3 <= 0x39)) {dig3 = 0x000F&dig3;}
else if((dig3 >= 0x41) && (dig3 <= 0x46)) {dig3 -= 0x37;}
if((dig4 >= 0x30) && (dig4 <= 0x39)) {dig4 = 0x000F&dig4;}
else if((dig4 >= 0x41) && (dig4 <= 0x46)) {dig4 -= 0x37;}
dig1 = (dig1<<12) + (dig2<<8) + (dig3<<4) + dig4;

В результате в переменной dig1 будет содержаться тот самый 16-разрядный символ в Юникоде
Собственно говоря такую процедуру надо провести для всех блоков по 4 байта в принятом SMS. Это чтоб потом можно было сравнивать с образцовой строкой из памяти программ или EEPROM, например.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- blox   Отправка SMS кирилицей   Jul 24 2010, 18:32
- - *antzol*   Чтобы кирилицей - только pdu.   Jul 24 2010, 19:27
|- - blox   Цитата(*antzol* @ Jul 25 2010, 01:27) Что...   Jul 24 2010, 19:34
|- - Samodelkin   Цитата(blox @ Jul 24 2010, 21:34) а в тек...   Jul 25 2010, 08:02
|- - blox   Большое спасибо за ответ!!! пока даже ...   Jul 25 2010, 10:47
|- - Samodelkin   Цитата(blox @ Jul 25 2010, 12:47) Большое...   Jul 25 2010, 13:48
|- - blox   Цитата(Samodelkin @ Jul 25 2010, 19:48) Р...   Jul 25 2010, 15:32
|- - Samodelkin   Цитата(blox @ Jul 25 2010, 17:32) Извинит...   Jul 25 2010, 20:26
- - *antzol*   Цитата(blox @ Jul 24 2010, 22:34) а в тек...   Jul 24 2010, 20:10
- - sobr   Может чем и поможет?   Jul 26 2010, 03:04
|- - Samodelkin   Цитата(blox @ Jul 26 2010, 10:40) А не по...   Jul 26 2010, 10:46
- - sobr   Обратите Ваше внимание на буквы ё и Ё.   Jul 26 2010, 12:09
- - blox   Цитата(sobr @ Jul 26 2010, 18:09) Обратит...   Jul 26 2010, 12:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01466 секунд с 7
ELECTRONIX ©2004-2016