Character encoding allows for the representation and transmission of characters according to an encoding system. It's necessary for the accurate transmission of the incredibly diverse characters and symbols used to communicate by text messages all over the world.
SMS concatenation merges messages that are longer than one SMS length. Some (amount varies with encoding) hidden characters are necessary to ensure the concatenation of SMS. They are the continuation prefix and a sequence number of subsequent SMS messages.
Supported using GSM
The full table of characters supported in the GSM encoding is available on Wikipedia.
Characters limits for GSM
Any text below 160 characters is counted as one SMS.
For texts longer than 160 characters, one SMS is counted every 153 characters (7 characters are used for smooth concatenation).
Supported using UNICODE
Unicode represents most of the characters used in common languages. Unicode is frequently updated to amount for previously uncovered needs. As of today, there are 128 000 Unicode characters. The full table of characters supported in the UNICODE encoding is available on Wikipedia.
Characters limits for UNICODE
Any text below 70 characters is counted as one SMS.
For texts longer than 70 characters, one SMS will be counted every 67 characters (3 are used for smooth concatenation.
Specify/force character encoding
Character encoding using SENDR
On SENDR, GSM character is forced by default to reduce the cost of SMS sending. Non-GSM characters are converted to similar GSM characters when possible (for instance ê -> e).
Character encoding using our API
On our API, you can force a specific encoding, using the “force_encoding” option in the ‘SMS.options’ object: It enables the automatic non-GSM character conversion. (ê –> e). More information on our API docs for SMS.
Text formatting in SMS (API)
The body of text messages is a string therefore basic string formatting options can be used:
- Newline character (\n) is interpreted and produces a new line in the received text.
- Tabs are not rendered (carrier level restrictions), but spaces in the string are respected if they are not at the beginning of the message.
" Hello Bob" is displayed on the recipient phone as "Hello Bob" but
"Hello Bob here is your package number" is displayed as it is in the string.