Ich habe ein Nokia N900 Telefon, und wenn ich eine SMS sende, zeigt das Widget die Anzahl der in der Nachricht verbleibenden Zeichen (und die Anzahl der tatsächlichen Kurznachrichten, die zum Senden der gesamten Nachricht benötigt werden) an.
Ich lebe in Frankreich, wo ich beim Schreiben von Nachrichten mit Nicht-ASCII-Zeichen die folgende seltsame Sache bemerkte:
Ich frage mich also, wie die Nachrichten verschlüsselt sind, weil ich das obige Schema nicht mit den traditionellen Kodierungen vergleichen kann, die ich kenne (iso-8859-1, UTF-8, UTF-16 ...).
@Vicky und @timdream haben Recht, außer dass ich glaube, dass es technisch UCS-2 und nicht UTF- ist. 16, dass das Telefon manchmal verwendet, die eine feste 16-Bit-Größe pro Zeichen hat. UTF-16 verwendet eine variable Breite von zwei oder vier Bytes pro Zeichen, abhängig vom zu codierenden Zeichen. Dieser Wikipedia-Artikel erklärt dies im Detail. UCS-2 nimmt die Nachricht strikt auf maximal 70 Zeichen (160 Bytes) herunter. Obwohl die Beschreibung von UCS-2 im Unicode-Konsortium etwas verwirrend ist, gibt es eine Handvoll Websites im Internet, die sich mit SMS beschäftigen Bestätigen Sie, dass Wikipedia Recht hat.
Sie haben bereits die Antwort von @timdream, aber nur ein weiterer Punkt, dass einige der erweiterten Zeichen, die Sie erwähnen, im GSM 7-Bit-Alphabet als einzelne Zeichen enthalten sind, einige sind in GSM 7-Bit durch eine zusätzliche Escape codiert Zeichen (also zwei Bytes, um dieses Zeichen darzustellen) und einige können überhaupt nicht in GSM 7-Bit codiert werden und müssen stattdessen als UTF-16 codiert werden.
Die vollständige alphabetische Definition ist hier: Ссылка
Beachten Sie die besondere Besonderheit mit C-Cedilla - aus dieser Datei,
Die ETSI GSM 03.38 Spezifikation zeigt ein C-Cedilla in Großbuchstaben Glyphe bei 0x09. Dies kann das Ergebnis einer eingeschränkten Anzeige sein Funktionen zum Behandeln von Zeichen mit Unterlängen. Jedoch, das Sprachabsicht ist klar für den Kleinbuchstaben C-Cedilla, wie gezeigt in der Abbildung unten. Das Mapping für Großbuchstaben C-Cedilla ist gezeigt in einer kommentierten Zeile in der Mapping-Tabelle.
Einige Geräte codieren sowohl Groß- als auch Kleinbuchstaben c-cedilla als das gleiche codierte Zeichen (0x09).
Tags und Links character-encoding sms