[Italia-pm] Bug nel modulo Encode::GSM0338 ?

Guido Brugnara gdo at leader.it
Sun Feb 25 08:32:47 PST 2018


----- Il 25-feb-18, alle 16:55, Flavio Poletti <polettix at gmail.com> ha scritto: 

> Il giorno 25 febbraio 2018 11:43, Guido Brugnara < gdo at leader.it > ha scritto:

> > ----- Il 24-feb-18, alle 21:08, Guido Brugnara gdo at leader.it ha scritto:

> > > Nell'utilizzare il modulo Encode::GSM0338 ho riscontrato che se si codifica il
> > > carattere "@" (code 0x00) la conversione da "gsm0338" non è corretta.
> > > Nella documentazione infatti c'è scritto:
> > > "Mapping \x00 to '@' causes too much pain everywhere"

> > > Quale alternativa potrei utilizzare che non sia bacata come Encode::GSM0338?

> > In attesa di una soluzione più pulita ho escogitato un work-around:

> Guardando il modulo e lo standard mi sembra che facciano due cose piuttosto
> differenti.

> Ad esempio, il GSM 03.38 prevede che ciascun carattere consentito sia codificato
> con 7 bit, ma che poi vengano trasmessi ottetti (il che consente di ottenere i
> famosi 160 caratteri da un pezzo di canale in grado di mandare 140 ottetti). Se
> stai leggendo SMS direttamente da un dispositivo, o li devi mandare ad un
> dispositivo, probabilmente quel modulo non è quello giusto.

Quel che devo fare è inviare ad un provider dei messaggi contenenti soltanto caratteri ammessi dal charset GSM 03.38 ma li devo comunque inviare UTF8. 
Devo anche calcolare il costo (quindi il numero di SMS necessari) e perciò devo calcolare quanto sarà lungo il messaggio codificato. 

Guardando il codice in Device::Gsm c'è annotato "content => 'text-only for now'" e infatti nell'implementazione di Device::Gsm::Charset non c'è traccia di tutti i caratteri speciali codificati in due byte utilizzando ESC; manca ad esempio il simbolo € (Euro). 
Purtroppo per questo non lo posso utilizzare. 

La tabella a cui mi devo attenere è questa: 
https://en.wikipedia.org/wiki/GSM_03.38#Spanish_language_(Latin_script) 

Il moduloEncode::GSM0338 converte i caratteri usando proprio questa codifica e funziona a parte il problema riscontrato con il carattere @, che aggiro con il codice che ho mostrato nella mail precedente. 

bye 
gdo 

> Cosimo ha pubblicato Device::GSM dove forse puoi trovare qualcosa più in linea
> con lo standard ( https://metacpan.org/pod/Device::Gsm ).

> Ciao,

> Flavio.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/italia-pm/attachments/20180225/227a2906/attachment.html>


More information about the Italia-pm mailing list