Referencia de Caracteres GSM-7 y Guía de Codificación

Descripción general

El conjunto de caracteres GSM-7 es la codificación predeterminada utilizada para la mayoría de los mensajes SMS en todo el mundo.
Define un conjunto estándar de caracteres que pueden transmitirse de forma eficiente utilizando codificación de 7 bits, lo que permite enviar hasta 160 caracteres por SMS.

Cuando un mensaje incluye caracteres que no pertenecen a este conjunto, el sistema cambia automáticamente a Unicode (UCS-2), reduciendo el límite máximo a 70 caracteres por SMS.

Este artículo ofrece una referencia completa de los caracteres compatibles con GSM-7, detalla los caracteres extendidos (de doble longitud) y explica cómo estos afectan la segmentación y la facturación de los mensajes.


Conjunto de caracteres estándar GSM-7

La siguiente tabla muestra los caracteres básicos del alfabeto GSM-7, junto con su valor hexadecimal (HEX) y su equivalente ISO-8859-1.
Cada uno de estos caracteres consume una unidad dentro del límite de 160 caracteres de un SMS.

HEXNombre del carácterCarácterISO-8859-1 Hex
0x00COMMERCIAL AT@40
0x01POUND SIGN£A3
0x02DOLLAR SIGN$24
0x03YEN SIGN¥A5
0x04LATIN SMALL LETTER E WITH GRAVEèE8
0x05LATIN SMALL LETTER E WITH ACUTEéE9
0x06LATIN SMALL LETTER U WITH GRAVEùF9
0x07LATIN SMALL LETTER I WITH GRAVEìEC
0x08LATIN SMALL LETTER O WITH GRAVEòF2
0x09LATIN CAPITAL LETTER C WITH CEDILLAÇC7
0x0BLATIN CAPITAL LETTER O WITH STROKEØD8
0x0CLATIN SMALL LETTER O WITH STROKEøF8
0x0ELATIN CAPITAL LETTER A WITH RING ABOVEÅC5
0x0FLATIN SMALL LETTER A WITH RING ABOVEåE5
0x10GREEK CAPITAL LETTER DELTAΔ
0x11LOW LINE_5F
0x12GREEK CAPITAL LETTER PHIΦ
0x13GREEK CAPITAL LETTER GAMMAΓ
0x14GREEK CAPITAL LETTER LAMBDAΛ
0x15GREEK CAPITAL LETTER OMEGAΩ
0x16GREEK CAPITAL LETTER PIΠ
0x17GREEK CAPITAL LETTER PSIΨ
0x18GREEK CAPITAL LETTER SIGMAΣ
0x19GREEK CAPITAL LETTER THETAΘ
0x1AGREEK CAPITAL LETTER XIΞ
0x20–0x7ELetras latinas, dígitos y signos comunesA–Z, a–z, 0–9, y símbolos como !, ?, #, &, etc.

(Para consultar la tabla completa, ver especificación GSM 03.38.)


Caracteres extendidos GSM-7 (doble longitud)

Algunos caracteres dentro del conjunto GSM-7 requieren una secuencia de escape (0x1B) y, por lo tanto, cuentan como dos caracteres dentro del límite del mensaje.
Estos se conocen como caracteres de 14 bits, ya que se representan mediante un código de escape más el código del carácter.

Carácter extendidoSecuencia de codificaciónCuenta comoDescripción
^0x1B0A2Acento circunflejo
{0x1B142Llave izquierda
}0x1B282Llave derecha
\0x1B292Barra invertida (backslash)
[0x1B2F2Corchete izquierdo
~0x1B3C2Virgulilla
]0x1B3D2Corchete derecho
  0x1B402
0x1B652Símbolo de euro

Importante:
Cada vez que se usa uno de estos caracteres, cuenta como dos caracteres en el cálculo total del mensaje.


Cálculo de caracteres y facturación

La facturación del SMS depende del número total de caracteres, incluyendo los espacios y los caracteres extendidos.

Tipo de codificaciónMáx. caracteres (un SMS)Máx. caracteres por segmento (concatenado)
GSM-7160153
Unicode (UCS-2)7067

Al usar caracteres extendidos, recuerda contar dos unidades por cada uno de ellos al calcular la longitud total del mensaje.

Ejemplo:

Mensaje:

Tu saldo es de €100. Por favor confirma la transacción.
  • Total de caracteres visibles: 43

  • Carácter extendido: (cuenta como 2)

  • Total ajustado: 44

  • Como está por debajo de 160, el mensaje se enviará en un solo SMS.


Fórmula de cálculo para SMS concatenados

Para mensajes que superen los 160 caracteres:

Fórmula:
Número de SMS = Math.Ceiling(total_caracteres / 153)

Ejemplo:
Si un mensaje tiene 344 caracteres (contando los caracteres dobles):
344 / 153 = 2.25 → redondeado hacia arriba = 3 SMS
El mensaje será facturado como tres SMS.


Compatibilidad de codificación en archivos FTP

Cuando se suben archivos de mensajes mediante FTP, la compatibilidad de los caracteres dependerá del formato de codificación del archivo.
Todos los archivos deben ser compatibles con el conjunto básico de caracteres GSM-7.

CompatibleNo compatible
Letras A–Z, a–z, números 0–9, espacios y puntuación GSM-7Caracteres no latinos, emojis, símbolos fuera del GSM-7
Ejemplos: @, #, !, &, +, :Ejemplos: é, ñ, 😊, ß

Si se detectan caracteres no soportados, el mensaje puede convertirse automáticamente a Unicode (UCS-2) o truncarse.


Saltos de línea en SMS

Los saltos de línea pueden insertarse utilizando el carácter de barra vertical (|), cuando la plataforma lo soporte.
Este símbolo actúa como separador de línea dentro del texto de un SMS o de una plantilla enviada por FTP.

Ejemplo:

Gracias por tu compra!|
Tu pedido llegará pronto.

Se mostrará en el teléfono como:

Gracias por tu compra!
Tu pedido llegará pronto.

Buenas prácticas

  • Verifica el tipo de codificación antes de enviar tus mensajes.

  • Evita caracteres fuera del conjunto GSM-7 para prevenir la conversión a Unicode.

  • Considera que los caracteres ^, {, }, , y otros similares cuentan como dos.

  • Usa acortadores de enlaces para reducir el número de caracteres.

  • Prueba tus mensajes en la plataforma antes de realizar envíos masivos.


Resumen

El conjunto de caracteres GSM-7 permite codificar mensajes SMS de manera eficiente usando 7 bits por carácter.
Sin embargo, algunos símbolos extendidos requieren dos bytes, reduciendo el espacio disponible en un solo mensaje.

Comprender qué caracteres están soportados y cómo se codifican te ayudará a optimizar tus mensajes, garantizar una entrega más eficiente y controlar los costos de tus campañas SMS.

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0