Why character, byte, and SMS counts differ
Not all systems measure text length the same way. Understanding which ruler your target platform uses prevents truncated headlines and unexpected multi-part SMS charges:
- Visible characters (Unicode code points): Counts human-readable letters, digits, spaces, and symbols. Standard ASCII letters take 1 byte in UTF-8, accented letters take 2 bytes, South/East Asian characters take 3 bytes, and emojis take 4 bytes.
- GSM-7 vs. Unicode (UCS-2) SMS: Standard GSM-7 text fits 160 characters in a single SMS (or 153 characters per segment in multi-part messages). Adding even a single emoji, curly quote, or non-GSM script switches the message to UCS-2 encoding, reducing capacity to 70 characters (or 67 per multi-part segment).