¿Qué es el SMS Binario (SMS Unicode)? Codificación, Soporte y Cómo Enviarlo

SMS Binario (comúnmente llamado SMS Unicode) utiliza codificación de caracteres de 8 bits (o 16 bits) en lugar del estándar GSM-7 de 7 bits, permitiendo alfabetos no latinos, emojis y símbolos especiales.

Mecánica de Codificación

CodificaciónBits/CarácterMáx. Caracteres/SegmentoConjunto de Caracteres
GSM-7 (Predeterminado)7160Latín, griego, algunos símbolos
UCS-2 / UTF-16 (Unicode)1670Todo Unicode: CJK, árabe, emoji, etc.
8 bits (Binario)8140Bytes crudos (push WAP, configuración OTA, tonos de llamada)

Qué Significa «SMS Binario» en la Práctica

  • La mayoría de usuarios y dispositivos se refieren a SMS Unicode (UCS-2) cuando dicen «SMS binario».
  • El SMS binario de 8 bits verdadero es para máquina a máquina: aprovisionamiento OMA, toolkit SIM, actualizaciones de firmware —no para texto humano.
  • Cuando escribes 😀 o 漢字, tu teléfono cambia automáticamente a UCS-2, reduciendo la longitud del segmento de 160 → 70 caracteres.

Ejemplos de Caracteres en SMS Unicode

CarácterPunto de Código UnicodeHex UTF-16Segmentos (70 caracteres)
éU+00E900E91
中U+4E2D4E2D1
😀U+1F600D83D DE00 (par de suplentes)1 (cuenta como 2 caracteres)
🇺🇸U+1F1FA + U+1F1F8D83C DDFA D83C DDF81 (4 caracteres)

Soporte de Dispositivos y Redes

  • Smartphones modernos (iOS, Android): Envío y recepción Unicode completos.
  • Teléfonos con teclas (pre-2010): A menudo solo GSM-7 → Unicode aparece como □, ? o falta.
  • SMSC del operador: Debe soportar UCS-2 (virtualmente todos los modernos lo hacen).
  • Roaming: Generalmente transparente; algunas interconexiones legacy pueden corromperlo.

Cómo Enviar SMS Unicode/Binario

  1. Aplicación de mensajería predeterminada: Solo escribe emojis/caracteres extranjeros — se codifica automáticamente.
  2. Habilita «Unicode» o «Caracteres especiales» en ajustes (algunos OEM de Android ocultan esto).
  3. API/SMPP: Configura data_coding=0x08 (UCS-2) en el PDU submit_sm. Carga = bytes UTF-16BE.
  4. Email a SMS: Generalmente convierte a GSM-7 → se pierden los emojis. Usa API.

Implicaciones de Costo

  • Cada segmento Unicode de 70 caracteres a menudo se factura como múltiples SMS (ej. 160 GSM-7 = 1 SMS; 160 Unicode = 3 SMS).
  • Revisa precios del operador/API — puede costar 3× para textos con muchos emojis.

Conclusión Clave

SMS binario ≠ texto humano con emojis. Para usuarios: es SMS Unicode (UCS-2). Para desarrolladores: el SMS binario verdadero es carga de máquina de 8 bits. Siempre verifica la capacidad del destinatario antes de enviar contenido no GSM-7.