Отправьте обычный текст, смешанный с Emojis, как данные Unicode через SMS, используя C # в Unity - PullRequest
1 голос
/ 25 июня 2019

Я пишу приложение для Android в Unity с использованием C #.Приложение будет отправлять текстовые сообщения SMS, которые содержат смесь текста и смайликов.

Моя первоначальная мысль состоит в том, чтобы отправить значения Unicode соответствующих эмодзи в виде любого простого текста.Я искал StackOverflow и не нашел краткого примера, который решает эту проблему.

Вот код, который я пробовал:

    string mobile_num = "+18007671111; //Placeholder
    string text = "Test: \\uFFFd\\uFFFd"; //(smile emoji Unicode value)
    char[] chars = text.ToCharArray();
    byte[] bytes = Encoding.UTF8.GetBytes(chars);
    string message = HttpUtility.UrlEncode(bytes);
    string sms = string.Format("sms:{0}?body={1}", mobile_num, message);
    Application.OpenURL(sms);

Мне нужно знать: 1. Этоправильный подход?а.если нет, пожалуйста, помогите мне правильно кодировать текст + данные смайликов б.Какой шаг необходим для скрытия, чтобы окончательное сообщение можно было отправить с помощью SMS?

1 Ответ

0 голосов
/ 17 июля 2019

Итак, после долгих поисков я обнаружил, что самый простой способ в C # - использовать:

\ U ########

Где:

\является escape-символом U является константой для определения последовательности Unicode, следующей

## - шестнадцатеричное значение смайлика, закодированное ровно 8 символами, при необходимости заполненными нулями.

Например:

string u = "Smile: \ U0001F601";

Отправит: Smile: ?

Спасибо Jeppe Stig Nielsen для вашего понимания.Для полного обсуждения перейдите по этой ссылке:

Как преобразовать числа между шестнадцатеричным и десятичным

...