Найти - Пользователи
Полная версия: Отправка смс на русском языке
Начало » Python для новичков » Отправка смс на русском языке
1
Slon
Подскажите, может кто знает как перегнать юникод в 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()
Slon
Я это видел, там задействована сторонняя утилита piconv

Может как нибудь по другому можно сконвертировать?
Slon
Может кто поможет с отправкой смс на русском языке.

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

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: Длина сообщения в байтах.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB