Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 25.09.2012
Сообщений: 36

GSM модем и отправка сообщений в UCS2

14.11.2012, 20:35. Показов 3693. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Вопрос касается gsm-модема.
Допустим есть такой код:
C#
1
2
3
4
5
6
7
8
9
10
serialPort1.Open();
serialPort1.Write("AT\r\n");
Thread.Sleep(1000);
serialPort1.Write("AT+CMGF=1");
Thread.Sleep(1000);
serialPort1.Write("AT+CMGS="+phoneNumber);
Thread.Sleep(1000);
serialPort1.Write(textMessage+"x1A");
Thread.Sleep(1000);
serialPort1.Close();
Код такого вида работает, т.е. сообщение отправляется. Но есть одно НО. Переменная textMessage может содержать только латинские буквы и цифры. Если же там окажутся символы из кириллицы, то в сообщении придут только ????????????.
Пробовал переводить в UCS2, результата ноль. Переводил с помощью такого кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public string txtInUCS2 = "";
private void ConvertRusToUCS2(string txtInRus)
     {
         String strAlphabet  = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщэюяABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'-* :;)(.,!=_";
         String[] ArrayUCSCode = new String[137]{            
         "0410","0411","0412","0413","0414","0415","00A8","0416","0417",
         "0418","0419","041A","041B","041C","041D","041E","041F","0420",
         "0421","0422","0423","0424","0425","0426","0427","0428","0429",
         "042C","042A","042D","042E","042F","0430","0431","0432","0433",
         "0434","0435","00B8","0436","0437","0438","0439","043A","043B",
         "043C","043D","043E","043F","0440","0441","0442","0443","0444",
         "0445","0446","0447","0448","0449","044D","044E","044F","0041",
         "0042","0043","0044","0045","0046","0047","0048","0049","004A",
         "004B","004C","004D","004E","004F","0050","0051","0052","0053",
         "0054","0055","0056","0057","0058","0059","005A","0061","0062",
         "0063","0064","0065","0066","0067","0068","0069","006A","006B",
         "006C","006D","006E","006F","0070","0071","0072","0073","0074",
         "0075","0076","0077","0078","0079","007A","0030","0031","0032",
         "0033","0034","0035","0036","0037","0038","0039","0027","002D",
         "002A","0020","003A","003B","0029","0028","002E","002C","0021",
         "003D","005F"};
         StringBuilder UCS = new StringBuilder(txtInRus.Length);
         Int32 intLetterIndex = 0;
         for (int i = 0; i < txtInRus.Length; i++)
            {
                intLetterIndex = strAlphabet.IndexOf(txtInRus[i]);
                if (intLetterIndex != -1)
                   {
                       UCS.Append(ArrayUCSCode[intLetterIndex]);
                   }
             }
            txtInUCS2 = UCS.ToString();
     }
С пощью кода переводит в UCS2, но сообщение уже не отправляет. Пробовал переводить и номер телефона, и само сообщение.
Так вот вопрос, как же перевести в нужный формат? И скажите, что я делаю не так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2012, 20:35
Ответы с готовыми решениями:

Исправить ошибки в коде отправки SMS через GSM-модем
Здравствуйте! Недавно начал писать на c#. Поставили передо мной задачу отправки смс через gsm модем. Все бы ничего, но написанная...

Создание оболочки для выхода в Интернет через GSM модем
Интересует процесс взаимодействия с оператором сотовой связи для выхода в Интернет: дозвон к нему и регистрация компьютера в сети. При этом...

Отправка SMS через USB-модем
Интересует, можно ли и каким образом реализовать на С# механизм отправки смс через подключенный к машине ЮЗБ-модем. Может кто-то решал...

3
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
14.11.2012, 22:27
...потому-что при использовании UCS2 нужно придерживаться правила формирования PDU формата сообщения для отправки кириллицы.

https://www.cyberforum.ru/post2098445.html
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
14.11.2012, 22:44
я конечно извиняюсь если такие ссылки тут запрещены, но сам писал по этому сайту отправку смс через USB модем, учитывая что я это было моей 2ой программой длиннее 20 строк и я ее таки написал думаю разжевано очень подробно
http://hardisoft.ru/soft/otpra... c-chast-1/
з.ы. на случай если ссылки запрещены - гуглится по запросу хард и софт, смс в PDU

з.з.ы.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
         String[] ArrayUCSCode = new String[137]{            
         "0410","0411","0412","0413","0414","0415","00A8","0416","0417",
         "0418","0419","041A","041B","041C","041D","041E","041F","0420",
         "0421","0422","0423","0424","0425","0426","0427","0428","0429",
         "042C","042A","042D","042E","042F","0430","0431","0432","0433",
         "0434","0435","00B8","0436","0437","0438","0439","043A","043B",
         "043C","043D","043E","043F","0440","0441","0442","0443","0444",
         "0445","0446","0447","0448","0449","044D","044E","044F","0041",
         "0042","0043","0044","0045","0046","0047","0048","0049","004A",
         "004B","004C","004D","004E","004F","0050","0051","0052","0053",
         "0054","0055","0056","0057","0058","0059","005A","0061","0062",
         "0063","0064","0065","0066","0067","0068","0069","006A","006B",
         "006C","006D","006E","006F","0070","0071","0072","0073","0074",
         "0075","0076","0077","0078","0079","007A","0030","0031","0032",
         "0033","0034","0035","0036","0037","0038","0039","0027","002D",
         "002A","0020","003A","003B","0029","0028","002E","002C","0021",
         "003D","005F"};
0
34 / 34 / 6
Регистрация: 24.11.2015
Сообщений: 330
20.12.2015, 13:28
На VB.net не найдётся какой нибудь исходник?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.12.2015, 13:28
Помогаю со студенческими работами здесь

Отправка сообщений, файлов и т.д
Всем привет! Недавно решил поработать с сетью и сразу встал вопрос: нашёл на этом форуме код: using System; using System.Net; ...

Отправка сообщений через SMTP
В программа работает но сообщения на мыло не приходят. В чем ошибка? Как ее исправить? using System; using...

Отправка сообщений Окну Блокнота для записи в него текста
Здравствуйте! Проблема, которая у меня возникла, уже, в той или иной форме, многократно поднималась как на этом, так и на многих...

Отправка мгновенных текстовых сообщений
доброе время суток. хочу попробовать написать прогу для обмена текстовыми сообщениями. кто-то может описать словами как это сделать? за...

Отправка сообщений из .NET-программы в месседжеры
Привет всем! Подскажите, пожалуйста, существуют ли какие-то библиотеки для .NET, позволяющие реализовывать отправку сообщений...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru