Как отправить массовое SMS, содержащее символы Unicode? - PullRequest
0 голосов
/ 10 мая 2019

Я работаю с приложением для массовых SMS.Это работает нормально, но когда я отправляю сообщение с символами Unicode, мой мобильный телефон показывает его как ???????? .

Я использую XML-файл, который содержит URL, цифры и текст сообщения.

Код, который у меня есть, таков:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byteArray = Encoding.UTF8.GetBytes(xml);
string text = Encoding.UTF8.GetString(byteArray);
request.ContentType = "text/xml; encoding='utf-8'";

request.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome / 41.0.2228.0 Safari / 537.36";
request.Accept = "text/xml,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = (HttpWebResponse)request.GetResponse();

if (response.ContentLength > 0)
{
    Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    dataStream = response.GetResponseStream();

    using (StreamReader reader = new StreamReader(dataStream))
    {
        returnValue = reader.ReadToEnd();
    }
}
else
{
    returnValue = "ERROR" + " " + "No Response From Jasmin";
}

Console.WriteLine(returnValue);
dataStream.Close();
response.Close();

Надеюсь, вы, ребята, даете мне решениек этому?

Ответы [ 2 ]

1 голос
/ 12 июля 2019

Это на самом деле зависит от поставщика.Если они позволяют или поддерживают Unicode SMS.Как SMS поддерживает Unicode SMS, так и если вы включите их функцию Transcode, они будут считать 1 SMS = 70 символов.

Transcoding Option

Вы можете проверить их легкоиспользуйте интеграцию SMS API для C # здесь: https://sms.to/sms-api#/

0 голосов
/ 10 мая 2019

SMS использует набор символов UCS-2 для символов Unicode (16 бит на символ, поэтому ваша максимальная длина уменьшается вдвое).Если ваша исходная строка не совместима с ASCII, вам нужно преобразовать ее в UCS-2.Как это сделать, см. Преобразовать в UCS2

.
...