UCS-2
The 16-bit SMS encoding used for most emoji and non-Latin scripts: 70 characters per segment, 67 once concatenated.
Definitions only — a term explained here is not a service we sell.
UCS-2 encodes nearly any script at 16 bits per character, which cuts an SMS segment to 70 characters. One character outside the GSM-7 alphabet (most emoji and most non-Latin scripts) switches the whole message to UCS-2.
The encoding is chosen per message, so one character outside GSM-7 changes the whole text.
Encoding, units and segments
- Encoding
- UCS-2
- Characters
- 22
- Units
- 23
- Segments
- 1
Text description
The figure lists the encoding chosen for one sample message, its character count, its size in encoding units and the number of segments that size needs. For UCS-2, units are 16-bit code units.
How the encoding is chosen
SMS starts in GSM-7. A character outside that alphabet moves the message to UCS-2, or to another coding the network supports. The switch covers the whole message, so characters that fit GSM-7 also take two bytes.
A segment holds 70 characters, because 140 bytes divided by two bytes per character leaves 70. A supplementary-plane emoji needs two UTF-16 code units, and handsets and centers in practice send UTF-16, so emoji-heavy text fits fewer characters; strict UCS-2 cannot encode it at all. The SMS segment calculator shows the count.