Už vím proč má SMS jen 160 znaků

Každý, kdo píše často SMS, se naučil stručně a jasně formulovat své myšlenky. Musel se totiž smířit s tím, že pro jednu zprávu má k dispozici jen omezený počet sto šedesáti znaků. Proč se do SMS nevejde víc?
Už vím proč má SMS jen 160 znaků

Stručně

Podle standardu GSM je pro text jedné SMS povoleno 140 osmic bitů, tedy celkem 1 120 bitů. Pro přenesení jednoho znaků je přitom obvykle potřeba osm bitů. Protože jsou ale jednotlivé znaky ze zjednodušené sady pro SMS vyjádřeny pouze sedmi bity, vejde se do celkového počtu 1 120 bitů celých 160 znaků (1120 : 7 = 160).

Dříve než odhalíme tajemství sto šedesáti znaků SMS poněkud podrobněji, je třeba se podívat trochu blíže na formát zprávy tak, jak jej „chápou“ prvky systému GSM.

Jak se kóduje text SMS

Každá SMS obsahuje při posílání kromě zakódovaného vlastního textu zprávy ještě mnoho dalších přídavných informací, které jsou důležité pro správné doručení zprávy. Tyto informace ke zprávě doplňuje zařízení, které zprávu kóduje a odesílá. Přídavné informace jsou např. informace o čísle SMS centra a čísle odesilatele, specifikace protokolu, typ kódování, údaj o platnosti SMS, délka uživatelských dat apod.

Část zprávy, která obsahuje zakódovaný uživatelský text, může být podle standardu ETSI (European Telecommication Standard Institute) dlouhá maximálně 140 oktetů. Oktet je osmice nejčastěji binárních symbolů, tedy jedniček a nul. V klasickém způsobu kódování znaků, což je osm bitů na jeden textový znak, by se tedy do zprávy SMS vešlo jen 140 znaků.

Vývojáři standardu ale vymysleli užitečnou věc. Vybrali jen 128 znaků, které se v klasických textových zprávách vyskytují nejčastěji, a sestavili z nich tabulku. Tím mohli každý ze znaků zakódovat pouze sedmi bity namísto původních osmi. Jaké znaky jsou v tabulce vybrány se můžete podívat zde (anglicky). Na stejné stránce najdete i zajímavý konvertor na převod textové podoby SMS do šestnáctkové soustavy a naopak.

Do možných 1 120 bitů, které jsou určeny pro zakódování textu zprávy (140 oktetů × 8 bitů = 1120), se tak při sedmibitovém kódování vešlo 160 znaků, neboť 1120 : 7 = 160. A zde je zakopán pes. Jednotlivé skupiny bitů se ale pro odesílání sdružují po osmicích – jak ale úsporně zapustit do osmic sedmibitové znaky? Princip je na následujícím schématu.

Klepněte pro větší obrázek

Dejme tomu, že potřebujeme napsat znaky ABCD. Do prvního oktetu se zařadí všech sedm bitů znaku A. Tedy A0 až A6. Na poslední osmé místo, které je volné, zařadíme první ze sedmi bitů znaku B. Ve druhém oktetu začneme druhým bitem B a tím pádem nám ve druhém oktetu zůstanou dvě volná místa, na něž vložíme první dva znaky písmene C. Takto se znaky mezi oktety postupně přelévají, dokud nebudou do oktetů vysázeny všechny.

Pokud jsou již vyčerpány všechny znaky, které chceme zadávat, a poslední oktet není ještě zaplněn do posledního místa, volné bity se naplní nulami. Ty budou při zpětném kódování ignorovány. Tímto úsporným způsobem lze např. do čtrnácti oktetů zakódovat beze zbytku šestnáct znaků (14 × 8 = 16 × 7 = 112) atd.

Zkracování SMS

Ne všechny SMS zprávy používají kódování znaků do sedmi bitů, neboť tabulka se 128 znaky je omezená a nestačí vystihnout všechny potřebné symboly a informace. Některé informace je třeba zakódovat do osmi bitů a do zprávy se pak vejde pouze 140 znaků. Týká se to např. posílání vyzváněcích melodií, doručování loga na mobil nebo SMS pro konfiguraci mobilu pro wap (např. Nokia 7110). Do sto čtyřiceti znaků se musí rovněž vejít Rusové nebo jiné národy, které při psaní používají cyrilici. 

V případě, že se v textu SMS zprávy objeví znaky s českou diakritikou, je potřeba použít kódování Unicode (UCS2). V něm jsou znaky zapisovány šestnáctibitově. V tomto případě ale může být SMS dlouhá pouhých sedmdesát znaků (1 120 : 16 = 70). Zde je tedy příčina tolikrát proklínaného zkracování SMS při použití českého slovníku T9 s diakritikou. Šestnácti bity se také kódují Flash SMS, což jsou zprávy, které se po příjmu automaticky zobrazí na displeji mobilního telefonu.

 

Stručně

Podle standardu GSM je pro text jedné SMS povoleno 140 osmic bitů, tedy celkem 1 120 bitů. Pro přenesení jednoho znaků je přitom obvykle potřeba osm bitů. Protože jsou ale jednotlivé znaky ze zjednodušené sady pro SMS vyjádřeny pouze sedmi bity, vejde se do celkového počtu 1 120 bitů celých 160 znaků (1120 : 7 = 160).

Témata článku: Ostatní, SMS, Znak

Určitě si přečtěte

Chtěli „flat“ se 100 GB, operátoři se jim vysmáli. Přesto má Nové Město tarify pro občany

Chtěli „flat“ se 100 GB, operátoři se jim vysmáli. Přesto má Nové Město tarify pro občany

** Tarif A měl mít 100 GB, „béčko“ 5 GB. Nakonec mají 150 MB až 1 GB ** Tarif pro lidi, kteří hodně volají nabízí 3000 minut za 499 Kč ** Veřejnou soutěž vyhrál brněnský virtuální operátor Fayn

12.  12.  2017 | Pospíšil Aleš | 63

Telefony to nekončí. Vybíráme mobilní příslušenství, které překvapí i potěší

Telefony to nekončí. Vybíráme mobilní příslušenství, které překvapí i potěší

** I malá drobnost může udělat velkou radost ** Redukce, kabely, sluchátka, powerbanky, náramky a chytré hodinky ** Ceny se pohybují od několika desítek korun po tisíce

7.  12.  2017 | Láska Jan | 13

Rachot v redakci: test 18 přenosných reproduktorů v prosincovém Computeru

Rachot v redakci: test 18 přenosných reproduktorů v prosincovém Computeru

** Hledáte bezdrátový reprák na cesty či na piknik? ** Otestovali jsme jich pro vás hned 18 ** Nový Computer je na stáncích!

6.  12.  2017 | redakce | 6

Vybrali jsme 11 tlačítkových mobilů pod stromeček. Je jich už jako šafránu

Vybrali jsme 11 tlačítkových mobilů pod stromeček. Je jich už jako šafránu

** Klasické tlačítkové mobily se stávají okrajovou záležitostí ** Některým lidem k používání přitom bohatě postačují ** Ze zhruba stovky dostupných modelů vybíráme 11 nejlepších

24.  11.  2017 | Láska Jan | 9