Ищем список допустимых символов, которые можно отправить в смс текстовых сообщениях - PullRequest
14 голосов
/ 04 марта 2011

Я работал с веб-API SMS-агрегатора для отправки и получения текстовых сообщений.Не все символы действительны, и когда я пытаюсь отправить сообщение, скажем, с хеш-меткой #, это не удается.

Мне нужно очистить строки перед их отправкой, но я не могу найти действительный список того, чтоперсонажи хорошие.Мистер Google не сильно помогает - возможно, я ищу неправильные термины.

Я уже просмотрел руководство по API и отправил письмо по электронной почте компании, но ответов нет.

Я ожидаю, что разные телефоны могут обрабатывать разные списки символов ... например, iPhone должен обрабатывать широкий диапазон символов, но мой старый раскладной телефон nokia, вероятно, будет обрабатывать только пару десятков символов, кроме буквенно-цифровых.Мне нужен наименьший общий знаменатель.

Ответы [ 2 ]

13 голосов
/ 28 апреля 2012

Это полностью основано на ответе @ vissi, но это то, что вы должны подключить, если хотите встроить небольшую коллекцию в свое приложение для целей проверки.

// Standard Latin Characters
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',

// Numbers
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',

// Punctuation
'!', '#', ' ', '"', '%', '&', '\'', '(', ')', '*', ',', '.', '?',
'+', '-', '/', ';', ':', '<', '=', '>', '¡', '¿', '_', '@',

// Currency
'$', '£', '¥', '\u00A4', // [UNTYPED] CURRENCY SIGN

// Accented Characters
'è', 'é', 'ù', 'ì', 'ò', 'Ç', 'Ø', 'ø', 'Æ', 'æ', 'ß', 'É', 'Å',
'å', 'Ä', 'Ö', 'Ñ', 'Ü', '§', 'ä', 'ö', 'ñ', 'ü', 'à',

// Greek Characters
'\u0394', // GREEK CAPITAL LETTER DELTA
'\u03A6', // GREEK CAPITAL LETTER PHI
'\u0393', // GREEK CAPITAL LETTER GAMMA
'\u039B', // GREEK CAPITAL LETTER LAMBDA
'\u03A9', // GREEK CAPITAL LETTER OMEGA
'\u03A0', // GREEK CAPITAL LETTER PI
'\u03A8', // GREEK CAPITAL LETTER PSI
'\u03A3', // GREEK CAPITAL LETTER SIGMA
'\u0398', // GREEK CAPITAL LETTER OMEGA
'\u039E', // GREEK CAPITAL LETTER XI

// Other Miscellaneous Characters
'\u001B', // ESCAPE
    '\n', // NEW LINE or LINE FEED
    '\r'  // CARRIAGE RETURN
10 голосов
/ 04 марта 2011

Это зависит от вашего агрегатора. Набор символов sms по умолчанию ограничен латинскими символами и только некоторыми специальными буквами (включая хэш-метку), другие отправляются в юникоде или с использованием механизма таблица сдвига блокировки .Но вы используете API для отправки сообщений, так что все эти вещи заключены в капсулу.Я предлагаю продолжать обращаться к вашему агрегатору за помощью, возможно, они блокируют некоторые символы вручную.

...