Simple, it's 160 characters right? Not always! A single part message is somewhere between 67 and 160 characters, depending.
Depending on what?
Easy Use APIs
HTTP, SMPP & SMTP
20+ Years Experience
Free Cloud SMS Software
Auto SMS Processing
Standard SMS Text Messages are limited to 140 bytes. You can encode 160 7 bit characters in 140 bytes. Trouble is, even if you are only using simple ASCII characters you're not guaranteed it will fit. That's because SMS is encoded in GSM 03.38, not ASCII.
Some characters require two characters to encode. For example ^, €, ~, [, ] and some others. Send a message consisting only of '~'s and you'll find you're limited to 80 characters. Send a message that you've carefully limited to 160 characters, but include a single '~' and you now need two messages to send it!
Throw in Unicode, for languages such as Chinese, Russian etc, and you're restricted to just 70 characters per standard SMS.
70, not 80 as 16 bytes are needed for encoding each character.
In order to send long multi-part messages, each part needs some additional information to ensure the receiver can assemble the parts correctly. This needs a message ID, a part number and the total number of parts. In order to do this, 6 bytes of each message is now devoted to the User Data Header (UDH), which contains the ID and part information for the message.
This now leaves 134 bytes (or 153 characters) for the actual message.
Yet again we have to take account of the characters that require two characters to encode so we're now looking at potentially 67 characters for Unicode languages, or escaped characters.
Our API takes characters in UCS-2. You can specify the UCS-2 Unicode block as an optional parameter to the API.
For messages going through our system it works out as follows:
There. Simple really!