SMS Binário (comumente chamado Unicode SMS) usa codificação de caracteres de 8 bits (ou 16 bits) em vez do padrão GSM-7 de 7 bits, permitindo scripts não latinos, emojis e símbolos especiais.
Mecânica da Codificação
| Codificação | Bits/Caractere | Máx. Caracteres/Segmento | Charset |
| GSM-7 (Padrão) | 7 | 160 | Latim, Grego, poucos símbolos |
| UCS-2 / UTF-16 (Unicode) | 16 | 70 | Todo Unicode: CJK, Árabe, Emoji, etc. |
| 8-bit (Binário) | 8 | 140 | Bytes brutos (WAP push, config OTA, toques) |
O que "SMS Binário" Geralmente Significa na Prática
- A maioria dos usuários/dispositivos refere-se a Unicode SMS (UCS-2) quando diz "SMS binário".
- O verdadeiro SMS binário de 8 bits é para máquina-a-máquina: provisionamento OMA, SIM toolkit, atualizações de firmware — não para texto humano.
- Quando você digita 😀 ou 漢字, seu telefone muda automaticamente para UCS-2, reduzindo o comprimento do segmento de 160 → 70 caracteres.
Exemplos de Caracteres em Unicode SMS
| Caractere | Ponto de Código Unicode | UTF-16 Hex | Segmentos (70 chars) |
| é | U+00E9 | 00E9 | 1 |
| 中 | U+4E2D | 4E2D | 1 |
| 😀 | U+1F600 | D83D DE00 (par surrogate) | 1 (conta como 2 caracteres) |
| 🇺🇸 | U+1F1FA + U+1F1F8 | D83C DDFA D83C DDF8 | 1 (4 caracteres) |
Suporte de Dispositivos e Redes
- Smartphones modernos (iOS, Android): Envio/recebimento Unicode completo.
- Feature phones (pré-2010): Frequentemente apenas GSM-7 → Unicode aparece como □, ?, ou ausente.
- SMSC da operadora: Deve suportar UCS-2 (virtualmente todas as modernas suportam).
- Roaming: Geralmente transparente; algumas interconexões legadas podem corromper.
Como Enviar Unicode/SMS Binário
- App de mensagens padrão: Apenas digite emoji/caracteres estrangeiros — codifica automaticamente.
- Ative "Unicode" ou "Caracteres especiais" nas configurações (alguns OEMs Android ocultam isso).
- API/SMPP: Defina
data_coding=0x08 (UCS-2) no PDU submit_sm. Payload = bytes UTF-16BE.
- Email-para-SMS: Geralmente converte para GSM-7 → emojis perdidos. Use API.
Implicações de Custo
- Cada segmento Unicode de 70 caracteres costuma ser cobrado como múltiplos SMS (ex.: 160 GSM-7 = 1 SMS; 160 Unicode = 3 SMS).
- Verifique preços da operadora/API — pode custar 3× mais para textos com muitos emojis.
Conclusão Principal
SMS Binário ≠ texto humano com emojis. Para usuários: é Unicode SMS (UCS-2). Para desenvolvedores: verdadeiro SMS binário é payload de máquina de 8 bits. Sempre verifique a capacidade do destinatário antes de enviar conteúdo não-GSM-7.