Garās īsziņas - cik tas maksā? Cik tās ir garas?
Šodien tviterī ieradās jautājums par to - cik īsziņas gala rezultātā tiek nosūtītas, rakstot tās garākas par 160 zīmēm. Tad, nu, tā kā tviterī būt izsmeļošam ir pagrūti, tad paprovēšu atbildēt šeit.
Visiem ir zināms - standarta īsziņa spēj sevī satilpināt 160 zīmes. Ne visiem ir zināms, ka šis nosacījums ir spēkā tikai tad, ja īsziņa satur tikai GSM 03.38 definētos simbolus. Lielākoties tie atbilst ASCII 7 bit simboliem ar dažiem izņēmumiem. Piemēram, visi šie simboli aizņem vienu vietu tais 160 pieļaujamajās zīmēs. Taču. Ir daži simboli, kuri aizņem divas. Piemēram - {, }, €, u.c. Tas nozīmē, ka, ja teksts satur šādas zīmītes, tad pieļaujamais īsziņas teksta garums saīsinās :)
Lai lietas sarežģītu vēl vairāk, pieņemsim, ka tu esi uzrakstījis īsziņu, kura ir garāka par 160 zīmēm. Teiksim - 161. Tādos gadījumos tālruņiem šī viena garā īsziņa ir jāsadala vairākās mazākās. Dalīšanas rezultātā katra īsziņa nedrīkst saturēt vairāk par 153 teksta simboliem (GSM gadījumā - septetiem), jo klāt nāk dienesta informācija, kura ļauj saņēmējam tās atkal apvienot pareizā secībā. Tātad, 161 zīmes gadījumā nosūtīsies divas īsziņas, kuras saturēs 153 un 8 teksta septetus. Tehniski tie būs septeti, bet nu...
Tagad, teiksim, tu sagribēji nosūtīt īsziņu, kurā ir kaut viens vienīgs "ā". Tādos gadījumos īsziņas kodējums no iepriekšminētā GSM alfabeta tiek mainīts uz UCS2 (konkrēti - UTF-16 big endian), kā rezultātā katrs īsziņas simbols, neskatoties uz to - sevišķais vai parastais, aizņem jau divus baitus. Aritmētiski tas saīsina vienuīsziņu līdz 70 zīmēm. Ja tās garums pārsniedz 70 zīmes, tad katra daļa nesaturēs vairāk par 64 zīmēm.
Teorijā šādu daļu skaits var būt 255. Praksē parasti to skaits nepārsniedz 7. Pie kam, operators tarificē katru no šīm daļām kā vienu īsziņu.
Kopsavelkot - bez speciālajiem simboliem viena īsziņa var saturēt līdz 160 simboliem, bet pēc tam notiek īsziņu dalīšana, no kurām katra var saturēt līdz 153 simboliem. Ar speciālajiem simboliem vienas īsziņas garums ir 70 simboli, bet, ja tas ir garāks, katra daļa saturēs 64 simbolus.
Kaut kā tā. Iespējams, ka esmu mazliet saputrojies skaitļos vai definīcijās, bet virspusēji tas viss izskatās ikurāt šādi. Vēl var parunāt par SMPP, un to, ka tur viss notiek ar baitiem, nevis septetiem, kas rezultējas ļoti daudz dažādās viltībās iekš tā - kā īsziņas saturs GSM alfabeta gadījumā tiek vai netiek transformēts pie operatora, pirms nonākt līdz lietotājam. Un arī otrādāk :)
Lucifugum
2009. gada 9. oktobrī, plkst. 15:08
Tas ir stulbi!!111
Lupus
2009. gada 9. oktobrī, plkst. 15:33
Uz pirmo aci cipari izskataas okey, bet par SMPP luudzu neraksti. Nevajag cilveekiem murgus rosinaat ;)
dadzis
2009. gada 9. oktobrī, plkst. 15:45
tas vispār sms rakstītājiem nebūtu jāzin ;) telefons pabrīdina ka būs tik un tk sms vajadzīgas lai aizsūtītu visu to tavu penteri blakussolā sēdošajam korišam. to pat dara brīdī kad raksti jau to penteri. vismaz kaut cik cienījami telefoni to dara un ar to ar gala lietotājm būtu jāpietiek. iespējams, ir tādi kas cer, ka ja rakstīs 1 garu jo garu sms 3 īsāku (160 simboli), tad viņiem var sanākt vilties saņemot rēķinu.
DI-NA-MO, DI-NA-MO RĪGA!
2009. gada 9. oktobrī, plkst. 15:55
Jocīgi, kaut arī aizsūtu tikai 'ā' burtu, bet noplēš, kā divas īsziņas - 10 saņus , tāpēc nokiai atslēdzu paplašināto kodējumu un vairs nesūtu ar garumzīmēm.
kt315b
2009. gada 9. oktobrī, plkst. 17:28
64000 :)
ciganele
2009. gada 9. oktobrī, plkst. 19:13
manai E51 ar orģinālo FW skaitīja/rādīja ka lācz stāsta - kā kāds latvju burts, tā max garums uz pusi īsāks, bet tagad, ar kaut kādu nesenu FW, pēc "Ā" ievades rāda, ka atlicis 159, u.t.t.
kā ir īstenībā un kā notarificē gan nezinu
jcx
2009. gada 10. oktobrī, plkst. 00:35
Njā, satrieci. Es vēl dzīvoju pagātnē ar 160 zīmēm, bet izrādās, ka vienā vienībā ietilpst vairs 54. Protams, rakstu ar garumzīmēm, protams, ka katru īsziņu neskaitu. Njā.
klanis
2009. gada 10. oktobrī, plkst. 10:17
Man patīk zelta zivtiņas opcija - nosūtot "sms" uz 1616 (laikam), 2 mēnešus īsziņas var sūtīt bez maksas uz visiem tīkliem. Tāpēc rakstu ar garumzīmēm, garas īsziņas un man reāli "po" pat, ja gala rezultātā sanāk kaut 9 īsziņas. :)
usinbss
2009. gada 10. oktobrī, plkst. 15:58
Nu kā, aizsūti 161 simbolu garu sms, un tev noņems kredītu par divām sms. Viegli rēķināt, piemēram nokia rāda, no cik sms sastāv garā sms, un viegli rēķināt cik tērē patiesībā. tā loti ātri iztērējas ezmaksas sms...
kanepe
2009. gada 10. oktobrī, plkst. 18:35
Man pat raktot smsā 1 simbolu ar garumzīmi paņem kā par 2 sms cenu!!!
Ivars
2009. gada 11. oktobrī, plkst. 00:59
Ai, tāpat rakstu īsi, tāpēc papildus komatiņus un svītriņas varu atļauties. :D
klanis
2009. gada 11. oktobrī, plkst. 20:46
usinbss: zelta zivtiņai bezmaksas sms nekādi nevar iztērēties, jo to skaits nav ierobežots. Sūti cik gribi, un par to jāmaksā tikai 60 sant. par diviem mēnešiem.
valcha
2009. gada 12. oktobrī, plkst. 11:40
Mans SE P1i neuzskata, ka, tikko pievienots UTF (UCS2) simbols uzreiz samazina SMS izmēru... Vispār patiesībā tas P1i ir tāds neizdevies modelis.
juura
2009. gada 12. oktobrī, plkst. 12:26
Vo par tām 70 zīmēm man kāreiz nebija skaidrības - līdz šim nebiju atšifrējis ko viņš man tā brīžiem jocīgi uzrāda 160 zīmju vietā 70. Bet ja runā par lētumu. Kas lētāk sūtīt sms kā parastu īsziņu, vai iegaumējot savā ziepjutraukā kādu bezmaksas sms sūtīšanas lapu (piem. http://sms.id.lv/ vai http://sms.lv) un maksāt par nosūtītajiem datiem?
Paranoia
2009. gada 12. oktobrī, plkst. 13:19
Visu laiku esmu brīnījies, kāda mārrutka pēc nevarēja pieņemt UTF-8 par encoding standartu. Burts 'Ā' tad garumu palielinātu par 1 baitu...
bubu
2009. gada 12. oktobrī, plkst. 18:58
UTF-8 kodējumā burts 'Ā' aizņem divus baitus (tāpat kā visi citi latviešu burti ar diakritiskajām zīmēm).
kā?
2009. gada 13. oktobrī, plkst. 02:40
komats pēc "pie kam". nafig?
Paranoia
2009. gada 13. oktobrī, plkst. 10:46
Nu jā. Mans statement bija ka UTF-8 gadījumā Ā būtu 1 standard + 1 extra baits, nevis kā tagad, ierakstot Ā, tev viss SMS teksta garums jādala ar 2. T.i., UTF-8 visiem ASCII simboliem nepieprasa 2 baitu kodējumu.
SMS Hater
2009. gada 13. oktobrī, plkst. 11:58
Lētāk un ērtāk ir piezvanīt nekā klabināt tās jobanās SMS'kas. ;)
master
2009. gada 13. oktobrī, plkst. 17:13
SMS Hater piekriitu. smskas var klabinaat stundaa seezhot un urbinot degunu
Krišs
2009. gada 13. oktobrī, plkst. 20:36
Paranoia: pieņemu, ka pret UTF-8 bija tās valstis, kuru simboli šajā kodējumā ir garāki nekā UTF-16 (piemēram, ķīnieši, kuru hieroglifi tiek kodēti ar 3 simboliem). Tāpēc UTF-16, kas konstanti kodēts ar 2 baitiem
Šulcs
2009. gada 13. oktobrī, plkst. 21:04
Klau, te sabiedrībā pacēlās ņepaņatka, kuru es tomēr nevaru novaldīties nevokalizējot.
Citēju, "Aritmētiski tas saīsina vienuīsziņu(!) līdz 70 zīmēm", pārbaudīju - fakts.
Kurš nopizģīja 20 baitus? Tur kaut kāds headeris nāk klāt, tipa "utf-16 beyond this point", vai wtf?
Kristiāns Vēbers
2009. gada 13. oktobrī, plkst. 23:30
Laacz - dalītajām UCS2 sms vienas daļas garums ir 67 simboli nevis 64.
Šulcs - viena sms var saturēt 1120 bitus. ASCII - 7 kodējumā 1 simbols aizņem 7 bitus: 1120 / 7 = 160.
UCS2 viens simbols ir 16 bitus liels = 1120 / 16 = 70.
Šulcs
2009. gada 14. oktobrī, plkst. 00:18
Musjē Vēber — tencinu, viss ģeniālais, kā allaž, izrādās ņihuja nesaprotams (nepiedomājot), tak vienkāršs (savukārt — piedomājot).
eriks
2009. gada 19. oktobrī, plkst. 20:47
Mana debīlā nokia arī vairs nemāk garumzīmes, neskatoties uz to ka kaut kāds 7 gadus vecs telefons garumzīmes pazina pat dziļā pāli... tas saucās - tehniskmais regress... apsveicu
Oto
2009. gada 23. oktobrī, plkst. 02:00
Kaut kad biju rēķinājis un sanāca, ka īsziņa maksā tik cik vari norunāt 1min pa telefonu un pēc datu apjoma operatoru peļņa par īsziņām ir 300x kārtīga.
Bezmaksas sludinājumi
2009. gada 10. novembrī, plkst. 19:42
labi, tas ir labi :D