Поиск списка допустимых символов, которые могут быть отправлены в текстовых сообщениях sms

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

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

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

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

Ответы

Ответ 1

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

Ответ 2

Это полностью связано с ответом @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