Skip to content
OmniChannels.ai

SMS and telecom

What is UCS-2 encoding?

16-bit SMS encoding · data_coding 0x08

Definition

UCS-2 is the 16-bit character encoding SMS uses for text outside the GSM-7 alphabet, such as Arabic, Chinese or emoji. One SMS holds 70 UCS-2 characters, or 67 per segment in a multipart message.

3GPP TS 23.038 states that UCS-2 coded user data can consist of up to 140 octets, that is up to 70 characters. In SMPP v3.4, UCS-2 is signalled with data_coding = 0x08.

When a long message is split, the 6-octet user data header leaves 134 octets per segment, or 67 UCS-2 characters.

UCS-2 can only represent characters in the Basic Multilingual Plane. Most emoji lie outside it and are sent as UTF-16 surrogate pairs, so each emoji uses two of the 70 slots. Handsets display them correctly, but they consume more space.

For Arabic-speaking markets in the GCC, UCS-2 is the normal encoding for Arabic text. Budget for shorter messages and more segments than an equivalent English message.

Example

An Arabic OTP of 60 characters fits in 1 SMS; a 140-character Arabic message needs 3 segments (67 + 67 + 6).

Sources