Проверка GSM-7 / Unicode.
Вставьте любой текст SMS, чтобы классифицировать каждый символ как базовый GSM-7, расширение GSM-7 или только Unicode, и увидеть, какие именно символы вынуждают всё сообщение перейти на UCS-2. Исправьте их — и вы останетесь в бюджете GSM-7 в 160 символов. Ничего не покидает ваше устройство.
Замена или удаление этих символов вернёт всё сообщение к GSM-7 и более чем вдвое увеличит бюджет символов на часть.
| № | Символ | Код символа | Классификация | Единицы |
|---|---|---|---|---|
| 1 | W | U+0057 | Базовый GSM-7 | 1 |
| 2 | e | U+0065 | Базовый GSM-7 | 1 |
| 3 | ’ | U+2019 | Только Unicode | 1 |
| 4 | v | U+0076 | Базовый GSM-7 | 1 |
| 5 | e | U+0065 | Базовый GSM-7 | 1 |
| 6 | пробел | U+0020 | Базовый GSM-7 | 1 |
| 7 | u | U+0075 | Базовый GSM-7 | 1 |
| 8 | p | U+0070 | Базовый GSM-7 | 1 |
| 9 | d | U+0064 | Базовый GSM-7 | 1 |
| 10 | a | U+0061 | Базовый GSM-7 | 1 |
| 11 | t | U+0074 | Базовый GSM-7 | 1 |
| 12 | e | U+0065 | Базовый GSM-7 | 1 |
| 13 | d | U+0064 | Базовый GSM-7 | 1 |
| 14 | пробел | U+0020 | Базовый GSM-7 | 1 |
| 15 | o | U+006F | Базовый GSM-7 | 1 |
| 16 | u | U+0075 | Базовый GSM-7 | 1 |
| 17 | r | U+0072 | Базовый GSM-7 | 1 |
| 18 | пробел | U+0020 | Базовый GSM-7 | 1 |
| 19 | t | U+0074 | Базовый GSM-7 | 1 |
| 20 | e | U+0065 | Базовый GSM-7 | 1 |
| 21 | r | U+0072 | Базовый GSM-7 | 1 |
| 22 | m | U+006D | Базовый GSM-7 | 1 |
| 23 | s | U+0073 | Базовый GSM-7 | 1 |
| 24 | пробел | U+0020 | Базовый GSM-7 | 1 |
| 25 | — | U+2014 | Только Unicode | 1 |
| 26 | пробел | U+0020 | Базовый GSM-7 | 1 |
| 27 | s | U+0073 | Базовый GSM-7 | 1 |
| 28 | e | U+0065 | Базовый GSM-7 | 1 |
| 29 | e | U+0065 | Базовый GSM-7 | 1 |
| 30 | пробел | U+0020 | Базовый GSM-7 | 1 |
| 31 | “ | U+201C | Только Unicode | 1 |
| 32 | w | U+0077 | Базовый GSM-7 | 1 |
| 33 | h | U+0068 | Базовый GSM-7 | 1 |
| 34 | a | U+0061 | Базовый GSM-7 | 1 |
| 35 | t | U+0074 | Базовый GSM-7 | 1 |
| 36 | ’ | U+2019 | Только Unicode | 1 |
| 37 | s | U+0073 | Базовый GSM-7 | 1 |
| 38 | пробел | U+0020 | Базовый GSM-7 | 1 |
| 39 | n | U+006E | Базовый GSM-7 | 1 |
| 40 | e | U+0065 | Базовый GSM-7 | 1 |
| 41 | w | U+0077 | Базовый GSM-7 | 1 |
| 42 | ” | U+201D | Только Unicode | 1 |
| 43 | … | U+2026 | Только Unicode | 1 |
Короткий ответ
Какие символы вынуждают сообщение перейти на UCS-2?
Любой символ, отсутствующий в базовой таблице или таблице расширения GSM-7, вынуждает всё SMS перейти на UCS-2. На практике это изогнутые кавычки, длинное тире, символ многоточия, многие буквы с диакритикой, а также любой эмодзи, арабский, кириллический или CJK-символ. Поскольку SMS использует одну кодировку на сообщение, всего один такой символ снижает бюджет на сегмент со 160 до 70 символов.
Три класса символов
| Класс | Единицы | Примеры |
|---|---|---|
| Базовый GSM-7 | 1 | A–Z a–z 0–9 пробел . , ? ! и распространённые европейские буквы |
| Расширение GSM-7 | 2 | € { } [ ] ~ | ^ \ |
| Только Unicode (UCS-2) | 1 (16 бит) | эмодзи · арабский · кириллица · CJK · « » — … |
Часто задаваемые вопросы
Что такое базовый набор символов GSM-7?
GSM-7 — это стандартный 7-битный алфавит из стандарта GSM 03.38. Его базовая таблица охватывает заглавные и строчные латинские буквы, цифры, распространённую пунктуацию и небольшой европейский набор. Каждый базовый символ занимает одну 7-битную единицу, поэтому одно SMS вмещает 160 таких символов.
Что такое символы расширения GSM-7?
Небольшая группа символов — знак евро, скобки, фигурные скобки, обратная косая черта, тильда, циркумфлекс и вертикальная черта ( € { } [ ] ~ | ^ \ ) — находится в таблице расширения GSM-7. Они остаются символами GSM-7, но каждый отправляется как escape-символ плюс сам символ, поэтому считается как две единицы вместо одной.
Какие символы вынуждают кодировку UCS-2?
Любой символ вне базовой таблицы и таблицы расширения GSM-7. Частые причины — изогнутые кавычки, длинное тире, символ многоточия, многие буквы с диакритикой, а также любой эмодзи, арабский, кириллический или CJK-символ. Всего один такой символ где угодно переводит всё сообщение в двухбайтовую кодировку.
Почему один не-GSM-7 символ меняет всё сообщение?
SMS использует одну кодировку на сообщение. Если даже один символ не может быть представлен в GSM-7, всё сообщение нужно отправить как UCS-2, чтобы этот символ сохранился. Это снижает бюджет на сегмент со 160 до 70 символов, поэтому случайная изогнутая кавычка может удвоить или утроить число ваших сегментов.
Чем это отличается от калькулятора сегментов SMS?
Калькулятор сегментов сообщает кодировку, количество сегментов и стоимость для всего сообщения. Эта проверка работает посимвольно, чтобы вы могли точно определить проблемные символы, заменить их и вернуть сообщение к GSM-7. Используйте их вместе.
Спецификация, лежащая в основе этого инструмента, в библиотеке справочника.
Кодировка, сегменты и стоимость всего сообщения.
REST + SMPP 3.4, аутентификация по токену Bearer, вебхуки доставки.
Одноразовые коды по SMS и голосу.
Быстрый старт, TypeScript SDK, справочники и инструменты.
Готовы отправлять в промышленных масштабах?
BroadNet предоставляет REST API, прямые подключения SMPP 3.4, вебхуки доставки и официальный TypeScript SDK в 200+ странах.