A qualcuno mai successo, scrivendo un SMS, che improvvisamente la lunghezza massima passa da 160 a 70 caratteri?
Avete sempre pensato a un bug del telefono?
SBAGLIATO!
E' un comportamento noto e voluto: i caratteri "standard" della codifica GSM non coincidono con i caratteri "standard" ASCII (i primi 128): per includere nei 128 caratteri disponibili (gli SMS "vanno" a 7 bit) anche vocali accentate e simboli per i vari paesi europei, alcuni simboli meno usati sono stati "esclusi"; tra questi c'e' l'accento ` : ha ASCII=96, quindi sarebbe ASCII standard... ma NON standard GSM
Dalle tabelle linkate ho ricavato questa, che l'elenco di tutti i caratteri "vietati": anche se sono disponibili sul cell, NON usateli, altrimenti la lunghezza disponibile per il messaggio diventer di 70 caratteri!
(Nota: non fatevi ingannare troppo dalla FORMA del carattere, che sul forum potrebbe essere alterata: leggete la descrizione):
Ho evidenziato quelli che sembrano caratteri "innocenti" ma che in realt sono... truccati.
ASCII char UNI hex UNI descr
U+0001 START OF HEADING (U+0001)
U+0002 START OF TEXT (U+0002)
U+0003 END OF TEXT (U+0003)
U+0004 END OF TRANSMISSION (U+0004)
U+0005 ENQUIRY (U+0005)
U+0006 ACKNOWLEDGE (U+0006)
U+0007 BELL (U+0007)
U+0008 BACKSPACE (U+0008)
" "
U+000B LINE TABULATION (U+000B)
U+000E SHIFT OUT (U+000E)
U+000F SHIFT IN (U+000F)
U+0010 DATA LINK ESCAPE (U+0010)
U+0011 DEVICE CONTROL ONE (U+0011)
U+0012 DEVICE CONTROL TWO (U+0012)
U+0013 DEVICE CONTROL THREE (U+0013)
U+0014 DEVICE CONTROL FOUR (U+0014)
U+0015 NEGATIVE ACKNOWLEDGE (U+0015)
U+0016 SYNCHRONOUS IDLE (U+0016)
U+0017 END OF TRANSMISSION BLOCK (U+0017)
U+0018 CANCEL (U+0018)
U+0019 END OF MEDIUM (U+0019)
U+001A SUBSTITUTE (U+001A)
U+001B ESCAPE (U+001B)
U+001C INFORMATION SEPARATOR FOUR (U+001C)
U+001D INFORMATION SEPARATOR THREE (U+001D)
U+001E INFORMATION SEPARATOR TWO (U+001E)
U+001F INFORMATION SEPARATOR ONE (U+001F)
` U+0060 GRAVE ACCENT (U+0060)
U+007F DELETE (U+007F)
‚ U+0082 BREAK PERMITTED HERE (U+0082)
ƒ U+0083 NO BREAK HERE (U+0083)
„ U+0084 U+0084
… U+0085 NEXT LINE (NEL) (U+0085)
† U+0086 START OF SELECTED AREA (U+0086)
‡ U+0087 END OF SELECTED AREA (U+0087)
ˆ U+0088 CHARACTER TABULATION SET (U+0088)
‰ U+0089 CHARACTER TABULATION WITH JUSTIFICATION (U+0089)
Š U+008A LINE TABULATION SET (U+008A)
‹ U+008B PARTIAL LINE FORWARD (U+008B)
Œ U+008C PARTIAL LINE BACKWARD (U+008C)
Ž U+008E SINGLE SHIFT TWO (U+008E)
‘ U+0091 PRIVATE USE ONE (U+0091)
’ U+0092 PRIVATE USE TWO (U+0092)
“ U+0093 SET TRANSMIT STATE (U+0093)
” U+0094 CANCEL CHARACTER (U+0094)
• U+0095 MESSAGE WAITING (U+0095)
– U+0096 START OF GUARDED AREA (U+0096)
— U+0097 END OF GUARDED AREA (U+0097)
˜ U+0098 START OF STRING (U+0098)
™ U+0099 U+0099
š U+009A SINGLE CHARACTER INTRODUCER (U+009A)
› U+009B CONTROL SEQUENCE INTRODUCER (U+009B)
œ U+009C STRING TERMINATOR (U+009C)
ž U+009E PRIVACY MESSAGE (U+009E)
Ÿ U+009F APPLICATION PROGRAM COMMAND (U+009F)
U+00A2 CENT SIGN (U+00A2)
U+00A6 BROKEN BAR (U+00A6)
U+00A8 DIAERESIS (U+00A8)
U+00A9 COPYRIGHT SIGN (U+00A9)
U+00AA FEMININE ORDINAL INDICATOR (U+00AA)
U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00AB)
U+00AC NOT SIGN (U+00AC)
U+00AD SOFT HYPHEN (U+00AD)
U+00AE REGISTERED SIGN (U+00AE)
U+00AF MACRON (U+00AF)
U+00B0 DEGREE SIGN (U+00B0)
U+00B1 PLUS-MINUS SIGN (U+00B1)
U+00B2 SUPERSCRIPT TWO (U+00B2)
U+00B3 SUPERSCRIPT THREE (U+00B3)
U+00B4 ACUTE ACCENT (U+00B4)
U+00B5 MICRO SIGN (U+00B5)
U+00B6 PILCROW SIGN (U+00B6)
U+00B7 MIDDLE DOT (U+00B7)
U+00B8 CEDILLA (U+00B8)
U+00B9 SUPERSCRIPT ONE (U+00B9)
U+00BA MASCULINE ORDINAL INDICATOR (U+00BA)
U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB)
U+00BC VULGAR FRACTION ONE QUARTER (U+00BC)
U+00BD VULGAR FRACTION ONE HALF (U+00BD)
U+00BE VULGAR FRACTION THREE QUARTERS (U+00BE)
U+00C0 LATIN CAPITAL LETTER A WITH GRAVE (U+00C0)
U+00C1 LATIN CAPITAL LETTER A WITH ACUTE (U+00C1)
U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX (U+00C2)
U+00C3 LATIN CAPITAL LETTER A WITH TILDE (U+00C3)
U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA (U+00C7)
U+00C8 LATIN CAPITAL LETTER E WITH GRAVE (U+00C8)
U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX (U+00CA)
U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS (U+00CB)
U+00CC LATIN CAPITAL LETTER I WITH GRAVE (U+00CC)
U+00CD LATIN CAPITAL LETTER I WITH ACUTE (U+00CD)
U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX (U+00CE)
U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS (U+00CF)
U+00D0 LATIN CAPITAL LETTER ETH (U+00D0)
U+00D2 LATIN CAPITAL LETTER O WITH GRAVE (U+00D2)
U+00D3 LATIN CAPITAL LETTER O WITH ACUTE (U+00D3)
U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX (U+00D4)
U+00D5 LATIN CAPITAL LETTER O WITH TILDE (U+00D5)
U+00D7 MULTIPLICATION SIGN (U+00D7)
U+00D9 LATIN CAPITAL LETTER U WITH GRAVE (U+00D9)
U+00DA LATIN CAPITAL LETTER U WITH ACUTE (U+00DA)
U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX (U+00DB)
U+00DD LATIN CAPITAL LETTER Y WITH ACUTE (U+00DD)
U+00DE LATIN CAPITAL LETTER THORN (U+00DE)
U+00E1 LATIN SMALL LETTER A WITH ACUTE (U+00E1)
U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX (U+00E2)
U+00E3 LATIN SMALL LETTER A WITH TILDE (U+00E3)
U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX (U+00EA)
U+00EB LATIN SMALL LETTER E WITH DIAERESIS (U+00EB)
U+00ED LATIN SMALL LETTER I WITH ACUTE (U+00ED)
U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX (U+00EE)
U+00EF LATIN SMALL LETTER I WITH DIAERESIS (U+00EF)
U+00F0 LATIN SMALL LETTER ETH (U+00F0)
U+00F3 LATIN SMALL LETTER O WITH ACUTE (U+00F3)
U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX (U+00F4)
U+00F5 LATIN SMALL LETTER O WITH TILDE (U+00F5)
U+00F7 DIVISION SIGN (U+00F7)
U+00FA LATIN SMALL LETTER U WITH ACUTE (U+00FA)
U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX (U+00FB)
U+00FD LATIN SMALL LETTER Y WITH ACUTE (U+00FD)
U+00FE