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 tipográfiai 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.
Azonosnak látszó é betűből eltérő számla lehet
A szöveget előállító rendszer is befolyásolhatja a hosszt. Az é szerepel a GSM-7 alaptáblában, amikor egyetlen U+00E9 kódpontként érkezik. Ugyanez a betű előállhat egy e betűből és az utána következő U+0301 kombináló éles ékezetből. A megjelenítésük hasonló lehet, a második változatban azonban az ékezet nem GSM-7 karakter.
Saját határpéldaként írj 159 darab A betű után egy előre összeállított é betűt. Ez 160 GSM-7 egység, egy rész. Ha az utolsó betű az e + kombináló ékezet változat, az üzenet 161 UTF-16 kódegységet foglal, és a cikkben használt 67 egységes összefűzött kerettel három részre esik: 67 + 67 + 27. A kalkulátor a beillesztett szöveget vizsgálja; a jelenlegi számítás nem alakítja át automatikusan a normalizálási formát.
A Unicode NFC normalizálása ebben a példában az e és a kombináló ékezet sorozatát az előre összeállított é alakra hozza. Az ékezet megmarad. Ha te fejleszted a küldési folyamatot, a normalizálást egyeztetett szövegkezelési szabályként, a végső szegmentálás előtt alkalmazd. Azután a ténylegesen továbbított szöveget ellenőrizd újra: a szolgáltató saját átalakítása vagy fejléce továbbra is számít. Aláírt vagy bájtpontosan megőrzendő tartalmat külön megállapodás nélkül ne alakíts át.
Személyre szabott üzeneteknél a teljes küldést add össze
Egy sablon részszáma nem elég a teljes kampány költségéhez. A behelyettesített név, időpont vagy hivatkozás megváltoztathatja a hosszt, és egyetlen GSM-7-en kívüli karakter a kódolást is. A végleges üzeneteket ezért a személyre szabás és minden automatikus aláírás vagy linkátírás után kell megvizsgálni.
Vegyünk száz, kizárólag szemléltetésre képzett címzettet. A küldőrendszer előzetes vizsgálata szerint 75 kész üzenet egy részbe, 20 két részbe, öt pedig három részbe kerül. A cikk korábbi, feltételezett 25 Ft/rész díjával a következő költség adódik:
| Végleges üzenetcsoport | Címzettek | Részek címzettenként | Csoport költsége |
|---|---|---|---|
| Egy részben elférő | 75 | 1 | 1875 Ft |
| Két részre bontott | 20 | 2 | 1000 Ft |
| Három részre bontott | 5 | 3 | 375 Ft |
Összesen 75 + 40 + 15 = 130 részt küldenél, 3250 Ft szemléltető díjjal. A „száz címzett, egy SMS” becslés 2500 Ft lenne, így 750 Ft-tal kevesebbet mutatna. Az átlag 1,3 rész címzettenként, de egy címzett üzenete továbbra is egész számú részből áll. Az átlagot teljes kerettervezéshez használhatod; egy konkrét szöveget újra kell szegmentálni.
Ha a költségkeret 3000 Ft, az ebben a díjmodellben 120 részre elegendő. Tíz részt kellene megtakarítanod. Például tíz, eredetileg kétrészes üzenet egy részre rövidítése ezt elérné, ha a változtatás a tényleges kódolási és hosszkorlátok mellett is működik. A szövegek értelmét és a szükséges azonosítókat ugyanúgy meg kell őrizni.
Közös sablon módosításakor a teljes előkészített küldést állítsd elő újra. A megtakarítás a régi és az új teljes részszám különbsége; egy rövidebb tesztüzenet ebből csak egy sort igazol. Előfordulhat, hogy a cserélt kifejezés az egyik címzettnél átlép egy részszámhatárt, másoknál pedig ugyanannyi részt hagy. A keretellenőrzésben a változatlan és az esetleg hosszabbá vált üzenetek is szerepeljenek. A jóváhagyott szövegváltozathoz ezért a felhasznált címzettlistát, az összes részszámot és az alkalmazott egységárat együtt rögzítsd.
A csoportosításhoz ne az átlagos névhosszt használd. Vizsgálj rövid és hosszú nevet, ő és ű betűt, az alkalmazott URL-változatokat és a szolgáltató által hozzáadott szöveget. Ha a rendszer nem ad teljes előzetes bontást, a mintából származó becslést jelöld becslésként; a néhány teszteset nem bizonyítja a teljes lista költségét.
A szolgáltató karaktercseréje és az egyes útvonalak eltérő szegmenshatára módosíthatja az eredményt. A kalkulátor az általános 160/153 és 70/67 modellt mutatja. A végleges költséget a tényleges küldőrendszer visszajelzésével és a szerződésed díjszabásával egyeztesd.
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 és a példák felülvizsgálata: 2026. október 10. A költségpélda feltételezett díjat használ.
Záró tudáspróba
Kérdésenként egy választ jelölj meg, majd a megoldások alapján pontozd magad. Ez a három kérdés a cikkben bemutatott összefüggéseket ellenőrzi.
1. 159 A betű után egy ő szerepel. Hány rész kell a cikk 70/67-es Unicode-modelljében?
- A) 3 rész.
- B) 2 rész, mert csak az ő használ Unicode-ot.
- C) 1 rész, mert a látható betűk száma 160.
2. 81 eurójel GSM-7 kódolással két egységet használ jelenként. Hány teljes eurójel fér a 153 egységes első részbe a bemutatott modellben?
- A) 77 jel.
- B) 81 jel.
- C) 76 jel.
3. 75 címzett egyrészes, 20 kétrészes és 5 háromrészes SMS-t kapna. Mennyi a teljes díj a feltételezett 25 Ft/rész árral?
- A) 2500 Ft.
- B) 7500 Ft.
- C) 3250 Ft.
Megoldások és pontozás
1. A. Az ő a teljes szöveg kódolását megváltoztatja. 160 kódegység 67 + 67 + 26 egységként három részbe kerül. Ismétléshez: Első példa: egyetlen ő betű és három rész.
2. C. 76 × 2 = 152; a következő kétegységes jel már nem fér el. A kódolt jel nem vágható ketté a hely kitöltéséhez. Ismétléshez: Második példa: az eurójel és az emoji határai.
3. C. 75 + 20 × 2 + 5 × 3 = 130 rész; 130 × 25 = 3250 Ft. A személyre szabás utáni üzenetek teljes bontása számít. Ismétléshez: Személyre szabott üzeneteknél a teljes küldést add össze.
Minden helyes válasz 1 pont; a hibás vagy kihagyott válasz 0 pont. Az összpontszám 0–3 lehet.
- 0 pont: dolgozd végig újra a három megoldásban megjelölt részt, és írd le a példák kiinduló feltételeit.
- 1 pont: a két elhibázott kérdésnél vezesd le a helyes választ; külön írd mellé, melyik feltétel vagy számolási lépés maradt ki.
- 2 pont: térj vissza az egyetlen elhibázott kérdéshez kapcsolt részhez, majd egy bemenet megváltoztatásával ellenőrizd újra az eredményt.
- 3 pont: a három összefüggést ebben a feladatsorban helyesen alkalmaztad. Próbáld ki a cikk egyik ellenőrzését saját adatokkal, a feltételeket és a mértékegységeket is feljegyezve.