Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 13, 2009 18:33:23

Slon
От:
Зарегистрирован: 2009-03-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка смс на русском языке

Подскажите, может кто знает как перегнать юникод в UCS-2BE?


ПС:
Работаю с gsm модемом через serial port
Python 3.1

def main():
import os
import sys
import serial
import time

t = serial.Serial('com7')
t.write(b'AT\r')
time.sleep(1)
t.write(b'AT+CMGF=1\r')
time.sleep(1)
t.write(b'AT+CMGS="+79000000000"\r')
time.sleep(1)
t.write(bytes('Тест', 'utf-8')+b'\n')
print (t.read(t.inWaiting()))
t.write(b'\032')
t.close()

if __name__ == '__main__':
main()



Офлайн

#2 Дек. 13, 2009 18:36:36

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Отправка смс на русском языке

Офлайн

#3 Дек. 13, 2009 18:51:23

Slon
От:
Зарегистрирован: 2009-03-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка смс на русском языке

Я это видел, там задействована сторонняя утилита piconv

Может как нибудь по другому можно сконвертировать?



Офлайн

#4 Дек. 14, 2009 17:14:11

Slon
От:
Зарегистрирован: 2009-03-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка смс на русском языке

Может кто поможет с отправкой смс на русском языке.

Прочитал что надо слать используя PDU, но собрать эту строку, а конкретно перекодировать русский текст у меня не получается =(



Офлайн

#5 Дек. 14, 2009 17:42:30

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Отправка смс на русском языке

Slon
Работаю с gsm модемом через serial port
Попробуйте SMStools, я когда делал СМС, то пользовался именно этим, и не было никаких проблем с языками.
Очень удобная утилита, поддерживает очереди сообщений, раскидывает по папкам отправленные, в очереди, и неотправленные сообщения, имеет поддержку почти всех модемов, проект живой и постоянно обновляется.



Отредактировано (Дек. 14, 2009 17:45:17)

Офлайн

#6 Дек. 15, 2009 14:24:57

Slon
От:
Зарегистрирован: 2009-03-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка смс на русском языке

Как оказалось, все гениальное просто =)

def text2pdu(text):
res = []
temp = ''
for x in text:
y = hex(ord(x))
temp += y[2:].zfill(4)

res.append(temp)
res.append(int(len(res[0])/2))
return res
Функция возвращает список, где:
Индекс 0: Конвертированный текст.
Индекс 1: Длина сообщения в байтах.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version