SmsHosting.it supporta sia la codifica  GSM 7-bit standard che la codifica UCS-2 a 16-bit per coprire molti tipi di alfabeti.

L'invio in modalità mittente numerico supporta esclisivamente la codifica GSM 7-bit mentre l'invio in alta qualità permette anche l'ulizzo della codifica UCS-2 a 16-bit.

Codifica GSM 7 bit

Un messaggio SMS, così come specificato nei documenti GSM 03.40 e GSM 03.38, può essere lungo sino a 160 caratteri

Smshosting.it supporta anche gli sms lunghi o sms concatenati: se il testo supera i 160 caratteri vengono mandati più sms (fino a 5 sms concatenati) che però appaiono sul dispositivo di chi li riceve come un unico sms.

Nel caso degli sms concatenati il numero di caratteri consentiti per ogni sms è di 153 perchè i restanti 7 caratteri sono utilizzati dal protocollo GSM per consentire la concatenazione degli sms in modo trasparente all'utente finale.

Ogni carattere è codificato con 7 bit e fa parte di un set ristretto di 127 caratteri detto alfabeto di default a 7 bit.  Dalle tabelle sottostanti è possibile vedere tutti i caratteri supportati con evidenza nella tabella (Extension) dei simboli che occupano 2 caratteri.

Nel caso di sms che sforino la lunghezza standard di 160 caratteri solo a causa di alcuni caratteri estesi li rimpiazza con caratteri semplici mantendo il costo a 1 sms invece che 2. Sotto le tabelle dei caratteri è riportata la tabella di conversione eventualmente utilizzata.


Hex
Dec
Character name
Character
Sobstitution
0x1B04
27 10
FORM FEED

n/a

n/a

0x1B14
27 20
CIRCUMFLEX ACCENT
^
Λ (lambda)
0x1B28
27 40
LEFT CURLY BRACKET
{
(
0x1B29
27 41
RIGHT CURLY BRACKET
}
)
0x1B2F
27 47
REVERSE SOLIDUS (BACKSLASH)
\
/
0x1B3C
27 60
LEFT SQUARE BRACKET
[
(
0x1B3D
27 61
TILDE
~
-
0x1B3E
27 62
RIGHT SQUARE BRACKET
]
)
0x1B40
27 64
VERTICAL BAR
|
I
0x1B65
27 101
EURO SIGN

E


Nel caso quindi, ad esempio, di un messaggio di 50 caratteri contenente "{testo}" l'sms inviato conterrà effettivamente il testo "{testo}". Se lo stesso frammento "{testo}" è invece inserito in un sms di 160 caratteri questo verrà sostituito con "(testo)" per evitare il troncamento di 2 caratteri. La lunghezza effettiva in questo caso sarebbe infatti 162 = 158 caratteri normali + 2 caratteri da 2.

Codifica UCS2 16 bit

Un sms UNICODE consente l'invio di 70 caratteri e anche per questo tipo di sms vengono supportati i messaggi concatenati (fino a 5 sms concatenati) ogni parte del messaggio può contenere al massimo 67 caratteri in quanto 3 caratteri sono utilizzati dal protocollo per la concatenzazione degli sms.

Con questo tipo di encoding è possibile inviare sms nei seguenti alfabeti:

  • Latin
  • Greek
  • Cyrillic
  • Armenian
  • Hebrew
  • Arabic
  • Syriac
  • Thaana
  • Devanagari
  • Bengali
  • Gurmukhi
  • Oriya
  • Tamil
  • Telugu
  • Kannada
  • Malayalam
  • Sinhala
  • Thai
  • Lao
  • Tibetan
  • Myanmar
  • Georgian
  • Hangul
  • Ethiopic
  • Cherokee
  • Canadian-Aboriginal Syllabics
  • Ogham
  • Runic
  • Tagalog
  • Hanunó'o
  • Buhid
  • Tagbanwa
  • Khmer
  • Mongolian
  • Limbu
  • Tai Le
  • Han (Japanese, Chinese, Korean ideographs)
  • Hiragana
  • Katakana
  • Bopomofo
  • Yi
  • Linear B
  • Old Italic
  • Gothic
  • Ugaritic
  • Deseret
  • Shavian
  • Osmanya
  • Cypriot