Postanowiłem wypróbować innego sposobu wysyłania SMS-ów w moim iPhone. W tym celu testuję program BiteSMS dostępny przez Cydię. Podstawową zaletą tego programu jest licznik znaków i to właśnie jemu dokładnie się przyjrzałem. Dokładniej temu, czy prawidłowo nalicza znaki i jak liczy polskie znaki diaktryczne: ąćęłńóśżź.
Pierwsza część testu polegała na wypisaniu 16 grup po 9 znaków+spacja czyli w sumie 160 znaków.
Na screenie widać tylko 6 ostatnich spośród 16 grup znaków
Jak widać “O left”, więc już następny wpisany znak, spowodowałby pojawienie się cyferki 2, oznaczającej drugiego SMS-a.
Kolejny test polegał dopisaniu na końcu polskiego znaku “ć” i skasowaniu poprzedzających do momentu aż licznik pokaże “0 left” w pierwszym SMS-ie
W tym wypadku na screenie widzimy WSZYSTKIE znaki wypisane w SMS-sie (sic!)
To co widzimy to 6 grup po 9 znaków+spacja i następną grupa 9 znaków+”ć”. W sumie 69 znaków +”ć”, a licznik znaków pokazuje “0 left”!! Taka sama sytuacja ma miejsce w przypadku pozostałych znaków w tym wielkich.
Czy to znaczy, że jeden polski znak diaktryczny wymaga 69 niewidzialnych znaków, koniecznych do wysłania SMS-a?!
Odrobinę zszokowany, postanowiłem wysłać same znaki diaktryczne “ąćęłńóśżź” równolegle na iPhone Macieja i SonyEricssona K550i Mojego Ojca. Zarówno Maciej jak Mój Ojciec, otrzymali to samo co wysłałem, ale nie policzyło każdego tego znaku x 91, gdyż wtedy licznik wskazałby łącznie 12 SMSów, a wysłałem 2, po jednym do Macieja i Mojego Ojca
Na ten moment nie wiem co o tym sądzić i jak na razie z niecierpliwością czekam na wersję IPhone Software 2.2 z możliwością wyłączenia autokorekty.
Aktualizacja:
Marcin Krzyżanowski w pierwszym komentarzu przesyła wyjaśnienie. Dzięki






8 październik, 2008 o godzinie 23:40
“Pojedynczy SMS może zawierać 160 tzw. znaków podstawowych. Jeśli użytkownik chce używać także liter charakterystycznych dla danego języka (np. “ą” czy “ś”), po pierwszym takim “nietypowym” znaku włącza się system Unicode. Aparat musi zawrzeć informację (matrycę znaków) o takim “przełączeniu” w SMS-ie, aby telefon odbiorcy poprawnie odczytał nadaną wiadomość. Zamiast 160 można więc wówczas wpisać jedynie 70 znaków.”
cyt za: http://www.wiadomosci24.pl/artykul/komorki_nie_pozeraja_znakow_w_sms_ach_4556.html
22 listopad, 2008 o godzinie 15:50
Witam.
Od siebie polecam MySMS, oprócz liczenia znaków i smsów, możemy przesyłać dalej odebrane sms, mamy klawiaturę poziomą i wiele innych…
13 luty, 2010 o godzinie 22:16
Mam rozumieć że sms z zastosowaniem polskich znaków ma długość 70 znaków, a nie jak normalnie 160? Mam iPhone’a 2G z oprogramowaniem 2.2.1 <- nowsze oprogramowanie tego nie zmienia? (np. w Nokii N95 po napisaniu polskich znaków długość smsa się nie zmieniała, było dalej 160 znaków do wykorzystania)
3 lipiec, 2010 o godzinie 12:37
Wyjaśnienie techniczne: na treść SMS-a jest przeznaczone 140 (!) bajtów. Standardowo znaki są kodowane 7 bitów na znak, co stanowi “czysty” zestaw znaków ASCII - litery łacińskie, nawiasy itp. 140 * 8 / 7 = 160 znaków.
Gdy zaczynamy stosować inne alfabety (np. polskie literki), cała treść jest zakodowana w Unicode, gdzie jeden znak zajmuje 2 bajty. 140/2 = 70 znaków.