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

Comments

Display comments as (Linear | Threaded)

  1. Sebastian says:

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

  2. Markus says:

    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 says:

    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! says:

    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.


Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA