Glosario
SMSTelecomúnicaciónesCodificación de Caracteres

Qué es la Codificación GSM-7? Límites de Caracteres SMS Explicados

Aprende que es la codificación GSM-7, como afecta los límites de caracteres en SMS, y por qué entender la codificación de caracteres es esencial para mensajes de texto rentables.

Redactado por: Victor VillalobosRevisado por: Jennifer Villalobos18 de diciembre de 20258 min lectura

Qué es la Codificación GSM-7? Límites de Caracteres SMS Explicados

GSM-7 es un estándar de codificación de caracteres usado en SMS (Servicio de Mensajes Cortos) que permite hasta 160 caracteres por segmento de mensaje. Desarrollado por el Instituto Europeo de Normas de Telecomúnicaciónes (ETSI), GSM-7 es la codificación predeterminada para mensajes de texto y juega un papel crucial en determinar los costos y la entrega de SMS.

Entendiendo la Codificación GSM-7

GSM-7 usa 7 bits para representar cada caracter, de ahi viene el nombre. Esta codificación de 7 bits es más eficiente que los estándares ASCII de 8 bits o UTF-8 usados en computación, permitiendo que más caracteres quepan dentro del ancho de banda limitado de SMS.

Las Matematicas Detras de los 160 Caracteres

Un mensaje SMS tiene una carga máxima de 1120 bits. Con codificación GSM-7:

text
1120 bits ÷ 7 bits por caracter = 160 caracteres

Esta es la razon por la que la longitud estándar de SMS es 160 caracteres cuando se usa texto compatible con GSM-7.

El Conjunto de Caracteres GSM-7

El conjunto básico de caracteres GSM-7 incluye 128 caracteres optimizados para idiomas de Europa Occidental:

Caracteres Estándar (7 bits cada uno)

CategoríaCaracteres
Letras mayusculasA-Z
Letras minusculasa-z
Números0-9
Puntuación común. , : ; ! ?
Caracteres especiales@ £ $ ¥ # % &
Simbolos( ) < > = + - /
EspaciosEspacio, salto de línea

Caracteres Extendidos (14 bits cada uno)

Algunos caracteres requieren una secuencia de escape, usando efectivamente 2 espacios de caracter:

CaracterDescripciónCuenta como
{Llave izquierda2 caracteres
}Llave derecha2 caracteres
[Corchete izquierdo2 caracteres
]Corchete derecho2 caracteres
~Tilde2 caracteres
\Barra invertida2 caracteres
^Acento circunflejo2 caracteres
Signo de euro2 caracteres
Barra vertical2 caracteres
Importante: Usar caracteres extendidos reduce la longitud efectiva de tu mensaje. Un mensaje con 10 signos de euro (€) usa 20 espacios de caracter, dejando solo 140 para otro texto.

GSM-7 vs Codificación UCS-2

Cuando un mensaje contiene caracteres fuera del conjunto GSM-7, la codificación cambia automáticamente a UCS-2 (Únicode):

CodificaciónBits por caracterCaracteres por SMS
GSM-77 bits160 caracteres
UCS-216 bits70 caracteres

Caracteres Que Activan UCS-2

Caracteres comúnes que fuerzan codificación UCS-2:

  • Emojis - Todos los emojis requieren Únicode
  • Chino, Japones, Coreano - Caracteres CJK
  • Arabe, Hebreo - Escrituras de derecha a izquierda
  • Cirilico - Ruso, Ucraniano, etc.
  • Comillas tipograficas - " " ' ' (comillas curvas)
  • Simbolos especiales - TM © ® y muchos otros

El Impacto en Costos

Cambiar a UCS-2 puede más que duplicar tus costos de SMS:

Ejemplo: Un mensaje de 140 caracteres con un emoji
  • Sin emoji (GSM-7): 1 segmento SMS
  • Con emoji (UCS-2): 2 segmentos SMS (140 chars ÷ 70 = 2)
Por esto la conciencia sobre codificación de caracteres es critica para campañas de marketing por SMS.

Mensajes Concatenados (SMS Largos)

Cuando los mensajes exceden el límite de un solo segmento, se dividen en múltiples partes:

Concatenación GSM-7

SegmentosCaracteres por segmentoTotal caracteres
1160160
2153306
3153459
4153612
La reducción a 153 caracteres ocurre porque 7 caracteres se reservan para el User Data Header (UDH), que le dice al dispositivo receptor como reensamblar el mensaje.

Concatenación UCS-2

SegmentosCaracteres por segmentoTotal caracteres
17070
267134
367201
467268

Errores Comúnes con GSM-7

1. Sustitucion Invisible de Caracteres

Los procesadores de texto y algunas aplicaciónes reemplazan caracteres automáticamente:

EscritoAuto-reemplazadoImpacto en Codificación
"" o "GSM-7 → UCS-2
'' o 'GSM-7 → UCS-2
- (guion medio)GSM-7 → UCS-2
... (elipsis)GSM-7 → UCS-2
Solucion: Siempre componer SMS en editores de texto plano o usar herramientas específicas para SMS que saneen la entrada.

2. Copiar-Pegar desde Documentos

Copiar texto de Microsoft Word, Google Docs o clientes de email frecuentemente introduce:

  • Comillas tipograficas y apostrofes
  • Espacios de no separacion
  • Caracteres de formato ocultos
  • Guiones largos/medios

3. Insercion de Emojis

Un solo emoji puede convertir todo tu mensaje a UCS-2, reduciendo la capacidad de 160 a 70 caracteres.

4. Caracteres Especificos de Idioma

Caracteres comúnes en ciertos idiomas pero fuera de GSM-7:

IdiomaCaracteres Problematicos
Polacoą ć ę ł ń ó ś ź ż
Turcoğ ı İ ş
Portuguesã õ
Alemanß (a veces)

Extensiónes de Idioma Nacional GSM-7

El 3GPP definio extensiónes de idioma nacional para soportar caracteres adicionales mientras mantiene eficiencia de 7 bits:

  • Turco - Agrega ğ, ı, İ, ş, Ş, ç, Ç
  • Español - Agrega á, é, í, ó, ú, ü, ñ, Ñ, ¿, ¡
  • Portugues - Agrega ã, Ã, õ, Õ, â, ê, ô, etc.
Sin embargo, el soporte de operadores varia significativamente. Muchos operadores no soportan cambios de idioma nacional, causando corrupcion de caracteres o fallo del mensaje.

Mejores Prácticas para Codificación de Caracteres SMS

1. Validar Antes de Enviar

Siempre verificar la codificación del mensaje antes de transmitir:

javascript
function isGsm7Compatible(text) { const gsm7Chars = /^[A-Za-z0-9 \r\n@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ!"#¤%&'()+,\-./:;<=>?¡ÄÖÑܧ¿äöñüà^{}\\\[~\]|€]*$/; return gsm7Chars.test(text); }

2. Contar Caracteres Correctamente

Considerar caracteres extendidos:

javascript
function countGsm7Characters(text) { const extendedChars = /[€\[\]{}~\\^
]/g; const extended = (text.match(extendedChars)
[]).length; return text.length + extended; }

3. Sanear Entrada de Usuario

Reemplazar caracteres problematicos antes de enviar:

javascript
function sanitizeForGsm7(text) { return text .replace(/[""]/g, '"') // Comillas tipograficas a rectas .replace(/['']/g, "'") // Apostrofes tipográficos .replace(/–/g, "-") // Guion medio a guion .replace(/—/g, "-") // Guion largo a guion .replace(/…/g, "..."); // Elipsis a puntos }

4. Advertir a Usuarios sobre Cambios de Codificación

Si tu aplicación acepta entrada de usuario para SMS, mostrar retroalimentación en tiempo real:

  • Conteo actual de caracteres
  • Número de segmentos SMS
  • Tipo de codificación (GSM-7 o UCS-2)
  • Caracteres causando cambio de codificación

5. Considerar Transliteracion

Para mensajes internacionales, considerar transliterar caracteres no-GSM-7:

OriginalTransliterado
cafécafe
naïvenaive
ñn
üu
Esto mantiene codificación GSM-7 a costa de alguna precisión linguistica.

Codificación SMS y APIs de Mensajería

Las APIs modernas de mensajería manejan la codificación automáticamente, pero entenderla ayuda a optimizar:

Ejemplo de API Zavu

Al enviar via API, la plataforma:

  • Detecta codificación del mensaje automáticamente
  • Calcula conteo de segmentos
  • Aplica precio apropiado
  • Retorna info de codificación en respuesta
  • json
    { "message": { "id": "msg_abc123", "encoding": "GSM-7", "segments": 1, "characterCount": 142 } }

    El Futuro de la Codificación SMS

    Mientras GSM-7 sigue siendo el estándar, la industria esta evoluciónando:

    RCS (Rich Commúnication Services)

    RCS (Rich Commúnication Services) elimina las limitaciones de caracteres completamente, soportando:
    • Longitud de texto ilimitada
    • Soporte Únicode completo
    • Medios enriquecidos (imágenes, videos)
    • Confirmaciónes de lectura e indicadores de escritura

    Estrategias de Fallback

    Las plataformas de mensajería inteligente usan:

  • RCS primero - Si es soportado por operador y dispositivo
  • WhatsApp/Telegram - Para necesidades de mensajería enriquecida
  • SMS - Como fallback universal con optimización de codificación
  • Probando Compatibilidad GSM-7

    Antes de lanzar campañas SMS, probar con:

    Herramientas Online

    • Validadores de caracteres GSM-7
    • Calculadoras de longitud SMS
    • Herramientas de detección de codificación

    Pruebas en Dispositivos

    Enviar mensajes de prueba a dispositivos reales a través de:

    • Diferentes operadores
    • Varios modelos de teléfono
    • Múltiples países

    Conclusion

    Entender la codificación GSM-7 es esencial para cualquiera que trabaje con mensajería SMS. El límite de 160 caracteres, los costos de caracteres extendidos, y el fallback a UCS-2 impactan directamente la entrega y costos de mensajes.

    Puntos clave:

    • GSM-7 permite 160 caracteres por SMS individual
    • Caracteres extendidos cuentan doble (€, [, ], etc.)
    • Caracteres no-GSM-7 activan UCS-2, reduciendo capacidad a 70 caracteres
    • Mensajes concatenados pierden caracteres por headers
    • Siempre sanear texto antes de enviar para evitar cambios inesperados de codificación
    Al optimizar para compatibilidad GSM-7, puedes reducir costos de SMS significativamente mientras aseguras entrega confiable de mensajes a través de todos los operadores y dispositivos.

    Lecturas Adicionales

    • Concatenación SMS y mensajes multiparte
    • Únicode en telecomúnicaciónes
    • Estándares de mensajería RCS
    • Optimización de entrega SMS

    Siguenos en redes sociales

    Construye con Zavu

    Comienza a enviar mensajes con nuestra API unificada de comunicaciones.

    Comenzar gratis
    Qué es la Codificación GSM-7? Límites de Caracteres SMS Explicados | Glosario Zavu | Zavu