@n1kto311

Как отправить смс с помощью юникода через API шлюз?

В общем, выбрал сайт для отправки смс от имени своей компании. Но по дефолту нет возможности отправлять смс на русском языке. Написал в поддержку, вот что мне ответили. Но я никак не могу понять как должен выглядеть код. Может кто-то показать пример? С заполненными строками для примера. Помогите, пожалуйста. К вопросу прилагаю дефолтный код и ответ на мое обращение. Спасибо за ответы.5fa99346760c5529331875.png5fa9934d99c0a576114630.png
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
@Drill
В принципе техподдержка дала вам готовый код.
Надо само тело СМС закодировать в UCS-2.
UCS-2 - это стандарт кодирования символов, в котором символы представлены 16 битами фиксированной длины (2 байта). Он используется как резервный вариант во многих сетях GSM, когда сообщение не может быть закодировано с помощью GSM-7 или когда язык требует для отображения более 128 символов (например, UTF-8).
Посмотреть Unicode UCS-2 Code Chart

from binascii import hexlify

url = "..."
querystring = {..., ...,}
headers = {...}

content = querystring['content'].encode('utf-16-be')
querystring['content'] = hexlify(content).decode('utf-8')

responce = request.....


Например:

from binascii import hexlify
querystring = {'content': 'Привет'}
content = querystring['content'].encode('utf-16-be')
querystring['content'] = hexlify(content).decode('utf-8')
print(querystring)

In [4]:
{'content': '041f04400438043204350442'}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы