Egy SMS díját könnyű alábecsülni, ha csak a látható betűket számolod. Ugyanolyan hosszúnak tűnő szövegek eltérő számú üzenetrészre eshetnek szét. Elég lehet egyetlen ő betű, különleges idézőjel vagy emoji ahhoz, hogy a teljes szöveg más kódolást igényeljen.
Az SMS-hossz és költség kalkulátor a beírt szöveg kódolását, hosszegységeit és várható részszámát vizsgálja. A díjhoz a saját szolgáltatód részenkénti árát és a címzettek számát kell megadnod. A következő forintos példák kitalált egységárral szemléltetik a számítást; aktuális szolgáltatói ajánlatot nem állítanak. Üzenetküldés előtt mindig a tényleges küldési rendszer visszajelzésével is ellenőrizd az eredményt.
Az SMS keretét a kódolás tölti meg
A GSM-7 egy meghatározott karakterkészlet. Alapjeleinek többsége egy hétbites egységet, szaknyelven septetet foglal. Egy önálló üzenet általános kerete 160 ilyen egység. Hosszabb, összefűzött szövegnél a részek összetartozását jelölő fejléc helyet kér, ezért a gyakori határ részenként 153 egység.
A GSM-7 táblán kívüli karakter a szokásos SMS-küldési megoldásokban az egész üzenetet Unicode kódolásra válthatja. Ekkor általában 70 tizenhat bites egység fér egy önálló részbe, és 67 jut egy összefűzött üzenet egy-egy részére. Ezeket a kapacitásokat a Twilio üzenethossz-dokumentációja is közli. A saját kalkulátor ezzel az általános modellel számol.
Az olvasó telefonján ettől még egyetlen összefüggő szöveg jelenhet meg. A számlázási egységek száma és a képernyőn látható buborékok száma tehát eltérhet. Ha a szolgáltatód részenként számol el, a hosszabb üzenet minden része beleszámít a díjba. A csomagban foglalt keretet és az esetleges egyéb díjakat ettől külön kell megvizsgálni.
Első példa: egyetlen ő betű és három rész
A különbség tiszta szemléltetéséhez vegyünk 160 darab A betűt. Mindegyik a GSM-7 alapkarakterei közé tartozik. A teljes hossz 160 egység, így pontosan elfér egy önálló SMS-ben. A példa szándékosan mesterséges: így az összes egység könnyen ellenőrizhető.
Most az utolsó A helyére írj ő betűt. Továbbra is 160 látható betűd van: 159 A és egy ő. Az ő nincs az alap GSM-7 készletben, ezért ebben a modellben a teljes szöveg Unicode lesz. A 160 egység meghaladja a 70-es önálló határt. Összefűzve 67 + 67 + 26 egység, azaz három rész szükséges.
Ha szemléltetésként 25 Ft egy rész és 100 címzettnek küldesz, az első változat 1 × 25 × 100 = 2500 Ft. A második 3 × 25 × 100 = 7500 Ft. A különbség 5000 Ft. Ez nem az ő betű általános ára: a szöveg hossza és a kódolási küszöb együtt okozza az ugrást. Rövidebb szövegnél ugyanaz a betű egyetlen Unicode részben is elférhet.
A látható karakter és a hosszegység különbözik
A magyar ékezetek sem viselkednek egyformán. Az é, ö és ü megtalálható a GSM-7 alaptáblában; az ő és ű nincs benne. Ezért félrevezető az a szabály, hogy minden ékezet automatikusan drágítja az SMS-t. A teljes, tényleges szöveget kell ellenőrizni. A Twilio GSM-7 karaktertáblája az alapkészletet és a bővített jelek kezelését is bemutatja.
Bizonyos jelek, például a kapcsos zárójel és az eurójel, GSM-7 mellett is két egységet foglalnak. A bővített jel elé egy váltójel kerül. Az eurójelet az ETSI TS 123 038 bővített táblája is ebben a készletben rögzíti. Emiatt a látható karakterek száma nem minden esetben azonos a septetek számával.
Az emojik további különbséget hoznak. A Unicode hivatalos magyarázata szerint az alap többnyelvű síkon kívüli kódpontok UTF-16-ban két kódegységet igényelnek. Sok emoji ilyen. Egy képernyőn látható összetett emoji ráadásul több kódpontból is állhat. A szolgáltatói szövegek gyakran UCS-2 néven emlegetik az Unicode SMS-t; a kalkulátor a tényleges UTF-16 kódegységeket számolja, és a helyettesítőpárokat együtt tartja.
Második példa: az eurójel és az emoji határai
Nyolcvan eurójel esetén 80 × 2 = 160 GSM-7 egységgel számolunk. Ez egy önálló részbe belefér. Nyolcvanegy eurójel már 162 egység, ezért többrészes üzenetre van szükség. A 153-as részkapacitásban legfeljebb 76 teljes eurójel fér el, mert 76 × 2 = 152. A maradék öt jel tíz egységként a következő részre kerül.
Az első részben ilyenkor egy egység kihasználatlan marad. Egy két egységből álló jel kódolását a modell nem vágja ketté csak azért, hogy betöltse a helyet. Hosszabb szövegeknél emiatt a puszta teljeshossz-osztás határhelyzetben félrevezethet. A kalkulátor a karaktereket sorrendben helyezi el az üzenetrészekben.
Egy önálló 🙂 jel két UTF-16 egységet használ. Harmincöt ilyen jel 70 egység, így egy rész. Harminchat jel 72 egység, ezért két rész kell. A 67 egységes részbe 33 teljes jel fér, a fennmaradó három a következőbe kerül. Ez a példa erre az egy konkrét emojira vonatkozik; más, összetett jelnél újra kell számolni a hosszt.
Rövidítéskor őrizd meg az érthetőséget
A jó SMS tartalmazza a szükséges információt, felismerhető a küldője, és világos a következő lépés. Először a felesleges mondatrészeket keresd. Ismétlődik-e ugyanaz a határidő? Kell-e két elköszönés? Elmondható-e rövidebben az időpont vagy a teendő anélkül, hogy kétértelmű lenne?
Az ékezetek eltávolítása legyen tudatos döntés. Egy név vagy helyszín hibás átírása több problémát okozhat, mint amennyit egy üzenetrészen megtakarítasz. A szövegszerkesztőből másolt díszes idézőjel, a nem törő szóköz vagy egy rejtett karakter közben észrevétlenül is módosíthatja a kódolást. Másold be a végleges változatot, és ellenőrizd újra a módosítás után.
Személyre szabott üzenetnél külön teszteld a hosszabb neveket, a két számjegyű házszámot meghaladó címeket és az eltérő hivatkozásokat. Egy rövid tesztcímzett eredménye nem bizonyítja, hogy a teljes címlista minden szövege ugyanannyi részbe kerül. A név nélküli sablon hossza csak kiinduló adat.
Küldés előtt ezt a négy dolgot ellenőrizd
A kalkulátor helyben számol és nem küld SMS-t. Ettől még érzékeny adat maradhat a képernyődön, egy másolt szövegben vagy egy megosztott eredményben. Teszteléshez használj mintanevet és mintaazonosítót. Belépési kódot, jelszót vagy ügyféladatot ne tegyél nyilvánosan továbbküldött képernyőképbe.
- Ellenőrizd a végleges szöveg kódolását és a részszámot.
- A saját szerződésed szerinti, megfelelő részenkénti díjat add meg.
- Nézd meg a küldőszolgáltató tényleges szegmentálási visszajelzését.
- Küldj saját tesztkészülékre, és olvasd el a fogadott változatot.
A fejléc, a nemzeti karaktertábla vagy a szolgáltató automatikus karaktercseréje eltérést okozhat. Az MMS és az RCS külön üzenettípus; ezek díját ne a hagyományos SMS-modellből vezesd le. A mobil-tarifa összehasonlító a rendszeres havi használat áttekintésében segíthet, ha már ismered a várható üzenetrész-mennyiséget.
Készíts két végleges szövegváltozatot, és hasonlítsd össze az érthetőségüket a számolt részszámmal együtt. A rövidebb csak akkor jobb választás, ha az olvasó ugyanúgy megérti, mit vársz tőle. A küldést a saját szolgáltatód ellenőrzött visszajelzése után indítsd.
Források
- Twilio: How long can a message be? – általános szegmenshatárok és szolgáltatói kivételek.
- Twilio: GSM-7 character encoding – alaptábla és bővített karakterek.
- ETSI TS 123 038, 6.2.1.1 pont – a GSM-7 bővített karaktertáblája, benne az eurójellel.
- Unicode: UTF-8, UTF-16, UTF-32 FAQ – kódegységek, helyettesítőpárok és az UCS-2 elnevezés korlátai.
Forrásellenőrzés: 2026. október 2. A költségpélda feltételezett díjat használ.