BroadNet
Codificação SMSCusto

Deteção de codificação e custo do SMS

Atualizado em 3 min de leituraBaseado em padrões
Resposta direta

Detetar a codificação significa verificar se cada caractere está no alfabeto GSM-7; se sequer um não estiver, a mensagem inteira torna-se UCS-2 e a capacidade cai de 160 para 70 caracteres. Como o SMS é faturado por segmento, um único emoji ou aspa curva avulso pode duplicar ou triplicar o custo de uma mensagem.

§01

Como detetar GSM-7 vs UCS-2

A regra é simples e absoluta: se cada caractere da mensagem estiver presente na tabela básica ou de extensão GSM-7, a mensagem pode ser enviada como GSM-7; se algum caractere não estiver, a mensagem inteira tem de usar UCS-2. A deteção é, por isso, um teste de pertença a conjunto face ao alfabeto GSM-7, aplicado à string toda, lembrando que os dez caracteres de extensão contam como dois septetos cada.

Lógica de deteçãotext
for each character c in message:
  if c not in GSM7_BASIC and c not in GSM7_EXTENSION:
     encoding = UCS-2   # one stray char forces the whole message
     break
else:
  encoding = GSM-7
§02

Os caracteres que forçam silenciosamente o UCS-2

Os caracteres caros são os que os utilizadores introduzem sem reparar. Processadores de texto e telefones substituem automaticamente aspas e hífenes retos por versões tipográficas que não estão no GSM-7. Os emoji nunca estão no GSM-7. Nomes não latinos e qualquer letra acentuada fora do conjunto de acentos GSM-7 fazem o mesmo. Higienizar estes antes de enviar — substituindo pontuação tipográfica por ASCII, transliterando quando aceitável — mantém as mensagens em GSM-7.

Gatilhos UCS-2 silenciosos comuns e substituições seguras
Caractere desencadeadorSubstituição segura GSM-7
' ' (aspas simples curvas)' (apóstrofo reto)
“ ” (aspas duplas curvas)" (aspas retas)
– — (meia-risca / travessão)- (hífen)
… (reticências)... (três pontos)
emoji(remover ou descrever em palavras)
espaço sem quebra(espaço normal)
§03

Como a codificação determina a contagem de segmentos

O SMS é cobrado por segmento, e a codificação define quantos segmentos uma mensagem precisa. Os limiares são fixos: o GSM-7 dá 160 num segmento e depois 153 por parte; o UCS-2 dá 70 e depois 67. Assim, uma mensagem de 75 caracteres é um segmento em GSM-7 mas dois em UCS-2. Um SMS promocional de 160 caracteres com um emoji salta de um segmento para três. A codificação é o maior fator controlável do custo por mensagem.

Limiares de segmento
Segmentoscaracteres GSM-7Caracteres UCS-2
11 – 1601 – 70
2161 – 30671 – 134
3307 – 459135 – 201
n (n ≥ 2)153 × n67 × n
§04

Controlo prático de custos

Três hábitos mantêm o custo do SMS previsível. Primeiro, valide e higienize os caracteres de cada mensagem de saída, assinalando tudo o que força o UCS-2. Segundo, mantenha os modelos dentro de um único segmento GSM-7 (≤160 caracteres) sempre que a mensagem o permita. Terceiro, meça a contagem de segmentos realizada por mensagem e por campanha, pois é isso — não a contagem de caracteres — que lhe é faturado. Uma calculadora de segmentos torna o compromisso visível antes de enviar.

Perguntas frequentes

Perguntas frequentes

Como sei se o meu SMS é GSM-7 ou UCS-2?

Verifique cada caractere face ao alfabeto GSM-7. Se todos os caracteres estiverem na tabela básica ou de extensão GSM-7, é GSM-7; se algum único caractere não estiver, a mensagem inteira é UCS-2. Um verificador GSM-7/Unicode automatiza isto e destaca os caracteres em falta.

Quanto me custa um emoji num SMS?

Potencialmente muito. Um emoji força a mensagem inteira para UCS-2, reduzindo a capacidade de 160 para 70 caracteres. Uma mensagem de 160 caracteres com um único emoji passa de um segmento para três, triplicando aproximadamente o custo.

Como é faturado um SMS de vários segmentos?

Cada segmento é faturado como um SMS separado. Uma mensagem que se divide em três partes é cobrada como três mensagens. É por isso que a codificação, que define a capacidade por segmento, é a maior alavanca do custo.

Como posso manter as mensagens em GSM-7?

Higienize a entrada antes de enviar: substitua aspas curvas e travessões por equivalentes ASCII, remova emoji e translitere acentos avulsos quando aceitável. Mantenha os modelos dentro de 160 caracteres GSM-7 para que fiquem num segmento.

É a contagem de caracteres ou de segmentos que determina o custo?

A contagem de segmentos. Duas mensagens com a mesma contagem de caracteres podem custar valores diferentes se uma usar UCS-2. Meça sempre os segmentos realizados por mensagem, não o comprimento bruto em caracteres.

Referências

Especificações de origem

Os padrões publicados nos quais esta página se baseia. Abre num novo separador.

BNMantido pela equipa de engenharia BroadNet·Mensagens de nível de operadora desde 2003
Coloque-o no fio.

Construa com uma vinculação SMPP real e uma API REST.

Solicite acesso de teste com chaves de teste reais: envie primeiro para o seu próprio número verificado e, em seguida, passe para o ambiente de produção em mais de 200 países assim que a sua identidade de remetente e rotas forem aprovadas.