Character Encoding & Economics Published 2026-08-13 • 8 min read

The Complete GSM 03.38 Character Set: Standard Chars, Extension Table, and Traps

Complete guide to GSM 03.38 7-bit default alphabet. Learn standard character codes, extension table escape sequences, and characters that cause split segments.

Key Takeaway & Executive Summary

GSM-7 packs 160 characters per segment. Understand basic vs extension table characters (like the € symbol) to prevent accidental billable segment doubling.

The GSM 03.38 standard defines the 7-bit character encoding used by mobile networks to transmit SMS. Because GSM-7 uses 7 bits per character rather than 8-bit ASCII or 16-bit Unicode, a single 140-byte telecom payload fits exactly 160 characters (140 * 8 / 7 = 160). Knowing which characters fit into GSM-7 is the foundation of SMS engineering.

1 Standard GSM-7 Basic Character Set

The basic 7-bit alphabet includes Latin uppercase (A-Z), lowercase (a-z), digits (0-9), standard punctuation, and Greek capital letters (e.g. Δ, Φ, Γ, Ω). Every character in this set consumes exactly 7 bits.

2 The GSM-7 Extension Table (2-Septet Characters)

Certain characters require an escape septet (0x1B) followed by a secondary byte, consuming 2 septets (14 bits):

- Euro Symbol: €
- Curly Brackets: { and }
- Square Brackets: [ and ]
- Pipe Character: |
- Backslash: \
- Caret: ^
- Tilde: ~

Including a single € symbol counts as 2 characters against your 160-character segment limit.

Frequently Asked Questions • Character Encoding & Economics

Can I test if my SMS copy uses GSM-7 online?

Yes. SMSRiver provides a free, instant SMS Segment Calculator (/tools/sms-segment-calculator/) that detects encoding, character counts, and billable segments in real-time.

Related Technical Articles & Deep Dives

Copied to clipboard