Я не думаю, что это возможно, чтобы ответить конкретно, не зная больше о SMS API, который вы хотите использовать.Тип string
в C # - UTF-16.Если вам нужна другая кодировка, она будет указана как byte[]
(потому что string
- это UTF-16, всегда).
Вы могли бы"преобразовать" это в строку, выполнив что-то вроде этого:
static string UnicodeToUTF8(string from) {
var bytes = Encoding.UTF8.GetBytes(from);
return new string(bytes.Select(b => (char)b).ToArray());
}
Насколько я могу судить, это дает тот же результат, что и веб-сайтвы связаныОднако, не зная, к какому API вы передаете эту строку, я не могу гарантировать, что это в конечном итоге сработает.
Смысл string
в том, что нам не нужно беспокоиться о лежащем в основе кодировании, но эта операция приведения является своего рода гигантским хаком и не дает никаких гарантий, что string
представляет собой правильно сформированную строкубольше.
Если что-то ожидает кодировку UTF-8, оно должно принять byte[]
, а не string
.