GSM 03.38 – eto standart kodirovki, ispol'zuyemyy v mobil'nykh setyakh dlya otpravki SMS. On opredelyayet nabor simvolov, kotoryye mozhno ispol'zovat' v 7-bitnom kode, a takzhe pravila obrabotki rasshirennykh simvolov, vliyayushchiye na dlinu soobshcheniya.
Standart GSM 7-bit pozvolyayet otpravlyat' do 160 simvolov v odnom SMS, togda kak ispol'zovaniye simvolov, vykhodyashchikh za predely etogo nabora, privodit k perekhodu na Unicode (UCS-2), umen'shaya maksimal'nuyu dlinu SMS do 70 simvolov.
Ponimaniye kodirovki GSM 03.38 vazhno pri sostavlenii tekstov SMS, tak kak nepravil'noye ispol'zovaniye simvolov mozhet uvelichit' kolichestvo otpravlyayemykh soobshcheniy i povysit' zatraty na rassylku.
Показати більше 852 / 5 000
GSM 03.38 – це стандарт кодування, який використовується в мобільних мережах для надсилання SMS. Він визначає набір символів, які можна використовувати в 7-бітному коді, а також правила обробки розширених символів, що впливають на довжину повідомлення.
Стандарт GSM 7-bit дозволяє відправляти до 160 символів в одному SMS, тоді як використання символів, що виходять за межі цього набору, призводить до переходу на Unicode (UCS-2), зменшуючи максимальну довжину SMS до 70 символів.
Розуміння кодування GSM 03.38 важливе при складанні текстів SMS, оскільки неправильне використання символів може збільшити кількість повідомлень, що відправляються, і підвищити витрати на розсилку.
Символи | Кодування (Hex) | Символи | Кодування (Hex) |
---|---|---|---|
@ | 0x00 | SP (пробіл) | 0x20 |
£ | 0x01 | 0 | 0x30 |
$ | 0x02 | 1 | 0x31 |
¥ | 0x03 | 2 | 0x32 |
è | 0x04 | 3 | 0x33 |
é | 0x05 | 4 | 0x34 |
ù | 0x06 | 5 | 0x35 |
ì | 0x07 | 6 | 0x36 |
ò | 0x08 | 7 | 0x37 |
Ç | 0x09 | 8 | 0x38 |
LF (новий рядок) | 0x0A | 9 | 0x39 |
Ø | 0x0B | A | 0x41 |
ø | 0x0C | B | 0x42 |
CR (повернення каретки) | 0x0D | C | 0x43 |
Å | 0x0E | D | 0x44 |
å | 0x0F | E | 0x45 |
Δ | 0x10 | F | 0x46 |
_ | 0x11 | G | 0x47 |
Φ | 0x12 | H | 0x48 |
Γ | 0x13 | I | 0x49 |
Λ | 0x14 | J | 0x4A |
Ω | 0x15 | K | 0x4B |
Π | 0x16 | L | 0x4C |
Ψ | 0x17 | M | 0x4D |
Σ | 0x18 | N | 0x4E |
Θ | 0x19 | O | 0x4F |
Ξ | 0x1A | P | 0x50 |
ESC (Escape) | 0x1B | Q | 0x51 |
Æ | 0x1C | R | 0x52 |
æ | 0x1D | S | 0x53 |
ß | 0x1E | T | 0x54 |
É | 0x1F | U | 0x55 |
Повний список символів можна знайти у офіційній специфікації GSM 03.38 (ETSI TS 100 900).
Розширені символи та escape-послідовність
Деякі символи не входять до основного набору GSM 7-bit і вимагають використання escape-послідовності (0x1B), що фактично збільшує їх довжину до двох символів.
Приклади розширених символів:
Символ | Кодування (Hex) |
---|---|
^ | 0x1B14 |
{ | 0x1B28 |
} | 0x1B29 |
0x1B2F | |
[ | 0x1B3C |
~ | 0x1B3D |
] | 0x1B3E |
` | ` |
Використання цих символів зменшує доступну кількість символів в одному SMS. Наприклад, якщо повідомлення складається з 160 символів і включає {, то реальна кількість доступних символів зменшиться до 159.
Перехід на Unicode (UCS-2) та його вплив на довжину SMS
Якщо повідомлення містить хоча б один символ, що не входить до GSM 7-bit, воно буде закодовано в UCS-2 (16-бітове кодування Unicode).
Приклад символів, які призводять до переходу на UCS-2:
Приклад:
Щоб уникнути непотрібного збільшення кількості повідомлень:
Розробникам рекомендується перевіряти повідомлення перед відправкою, щоб оптимізувати їх довжину та уникнути непотрібного збільшення кількості сегментів SMS.
Якщо у вас є запитання щодо кодування SMS, зверніться до технічної підтримки.