photos.infar.be

iPhone iOS 4 SMS Counter Bug

Vielleicht ist es ein Bug, vielleicht auch nur eine inkonsistente Implementierung. Auf jeden Fall gaukelt der Zähler für die Zeichenanzahl beim iOS 4.0 (Build 8A293) eine falsche SMS Zahl vor. Sehen ab wann man die nächste SMS beginnt kann man hiermit leider nicht auf den ersten Blick. Ich erkläre mal, warum.
Ein paar Screenshots helfen hier sicherlich weiter als ausschließlich Prosatext:



Nicht jedes getippte Zeichen "verbraucht" auch nur ein Zeichen, wenn es als SMS gesendet wird. Als ein Zeichen zählen nur diejenigen, die im 7-bit ASCII-Standard  enthalten sind, eine Tabelle gibt es zum Beispiel hier. Okay, genaugenommen nur die ab 32 und davon auch nicht alle.

Andere Zeichen werden als zwei Zeichen gezählt, zum Beispiel das Euro-Symbol (€), weil diese anders kodiert werden müssen.



Wir sehen 20 Zeichen auf dem Bildschirm, der Zähler zählt aber schon 21. Das ist auch korrekt, so steht's im Standard.
Jetzt wird's aber spannend. Sendet man längere Texte die auf mehrere SMS aufgeteilt werden müssen, so wird jedem Teil ein (für den Benutzer) unsichtbarer Header hinzugefügt, mit dem der Empfänger die SMS wieder korrekt zusammensetzen kann. Dieser Header "verbraucht" genau 7 Zeichen.



Die erste SMS ist voll 160/160 Zeichen werden dargestellt. Tippt man nun ein Zeichen mehr, so werden 161 Zeichen vom Zähler angezeigt.



In Wirklichkeit müsste hier jedoch korrekt 160 + 1 + 7 (Header der ersten SMS) + 7 (Header der 2. SMS) = 175 stehen.

(Will man Zeichen verschicken, die in UTF-16 kodiert werden (Kyrillisch, Chinesisch), so können pro SMS auch nur 70 Zeichen verschickt werden. Das iPhone erkennt dies aber korrekt.)

Warum das ganze?

Ganz einfach: Wer ein wirklicher Sparfuchs ist und gerne längere SMS scheibt sollte vielleicht im Hinterkopf haben, wie das iPhone die Zeichen zählt. Die 2. SMS endet nämlich nicht nach 320, sondern schon nach 306 Zeichen; die 3. schon nach 459 anstatt 480, usw. Vielleicht fixt Apple diesen Bug in einem der nächsten Releases.

Andere Handyhersteller zählen (nach meiner Erfahrung) übrigens korrekt und zeigen auch an, wann die 2. SMS beginnt.

In Wikipedia findet ihr noch ein wenig mehr Hintergrundinfos.

Trackbacks

  1. PingBack

  2. PingBack

  3. iPhone iOS 4 SMS Bug wohl gefixt

    Nachdem ich den SMS-Bug im iOS 4.0 hier dokumentiert und dann auch einen Bugreport an Apple geschickt habe, kam heute die Antwort zurück: "This is a follow-up to Bug ID# 8135442. Engineering believes this issue has been addressed in iPhone OS 4

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)

  1. Sebastian schreibt:

    uh mit verlinkung auf ifun.de, jetzt wird dein blog noch berühmt ;)

  2. Markus schreibt:

    Hi, danke für die Info. Was ich auch ärgerlich und verwirrend finde ist das es leerzeichen erst nach dem nächsten Buchstaben mitzählt.

  3. Jan schreibt:

    Der SMS-Zähler hat noch einenkomischen Bug, den du vielleicht noch nicht entdeckt hast. Ich schreibe immer wieder gerne in meinen SMS Auslassungspunkte (...). Statt dafür drei Punkte, also drei Zeichen zu verschwenden, nutze ich gerne die Ellipse (drei Punkte auf einmal - liegt auf der Taste des Punktes verborgen (wie zum Beispiel das ä auf der a-Taste liegt). Wenn ich nun die Ellipse eingebe, springt der Zähler rechts direkt auf 70 und bleibt auf 70, wenn ich weitertippe und die Ellipse nicht lösche ... das Problem tritt wohl auch bei anderen Sonderzeichen auf (Bulletpoint (·), nd das Währungssymbol mit dem durchgestrichenen "W")

  4. t0bY! schreibt:

    Hi Jan,

    das was Du da beschreibst ist gar kein Bug. So steht's im Standard. Wenn Du Zeichen benutzt, die nicht in standard ASCII kodiert sind, hast Du weniger Zeichen zur Verfügung.


Kommentar schreiben


Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA