Unicode, a raczej UTF-8 zajmuje 8 bitów na znak, domyślny alfabet GSM ma 7 bitów na znak.
Jeżeli możemy w smsie z alfabetem GSM wysłać 160 znaków, to w unicode wychodzi 140 znaków.
I tak było dawniej...
Niestety dla Nas w smsach w tej chwili producenci/operatorzy (nie wiem kto 😛) chcieli zmieścić wszystkie znaki specjalne (np. niemieckie, polskie, greckie) i w tej chwili wykorzystujemy znaki z UTF-16 (16 bitów).
Wtedy długość smsa zmniejsza się do 70 znaków.
To tylko informacja dla pojedyńczego smsa, bo przy drugim trzeba dorzucić nagłówek, dzięki któremu rozpozna się smsa podwójnego i dłuższą wiadomość, wówczas ilość znaków na sms wychodzi odpowiednio 157/67