Autor Tema: Símbolo grado "°" en SMS  (Leído 6525 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado martinchd

  • PIC12
  • **
  • Mensajes: 78
Re:Símbolo grado "°" en SMS
« Respuesta #15 en: 15 de Mayo de 2020, 15:59:27 »
¿Por que no hacés un for mandando caracteres para ver cual corresponde al '°' si es que lo tiene?

siii no me va a quedar otra... o sino cambiarlo por (*C ) y listo... no es tan critico.. es de mera información al usuario nada mas.

Desconectado martinchd

  • PIC12
  • **
  • Mensajes: 78
Re:Símbolo grado "°" en SMS
« Respuesta #16 en: 15 de Mayo de 2020, 19:11:02 »
No hay forma de encontrar ese caracter. Lo dejo asi.


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Símbolo grado "°" en SMS
« Respuesta #17 en: 16 de Mayo de 2020, 10:00:38 »
Haciendo una par de busquedas por internet te doy unas pistas, pero si se puede hacer, pero no facil:

- Depende de la codificacion que estes usando en tu SIM800L y las codificaciones que permitan.

Código: [Seleccionar]
AT+CSCS=?Las opciones son:
Código: [Seleccionar]
"GSM" GSM 7 bit default alphabet (3GPP TS 23.038);
"UCS2" 16-bit universal multiple-octet coded character set (ISO/IEC10646); UCS2 character strings are converted to hexadecimal numbers from 0000 to FFFF; e.g. "004100620063" equals three 16-bit characters with decimal values 65, 98 and 99
"IRA" International reference alphabet (ITU-T T.50)
 "HEX" Character strings consist only of hexadecimal

Usando GSM:
El problema esta en que GSM usa un alfabeto de 7bits nomas y no incluye el º que estas buscando, entonces la que te queda es poner la C directamente o buscar alguna alternativa como el asterisco. Entonces si vas por GSM es un NO.

Usando UCS2:
Genial, ahora tenemos 16bits para hacer nuestras letras, por lo que tenemos muchas mas posibilidades,
PERO:
- Los mensajes van a ser mas cortos ya que cada caracter requiere 16bits y no 7. Pero esto no es lo "malo"
- Lo malo: TODO string que envies al modem requiere de esta codificación "extra" para pasar todo a 16bits antes de enviarlo al modem. Y si esto incluye el numero de telefono el cual antes era:
Código: [Seleccionar]
+123456Ahora sera
Código: [Seleccionar]
002B 0031 0032 0033 0034 0035 0036             En realidad es sin separar, lo separe para que se note la diferencia entre caracteres
Charset Table
http://www.columbia.edu/kermit/ucs2.html
Degree Simbol º 00B2

Si no mal lei UCS2 es obsoleto y los dispostivos android lo suplantan por UTF-16BE (big endian) ya que son parecidos pero el UTF agrega un par de cosas mas. Algo sobre UCS2
https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding

GSM 7-bit charset table
ftp://www.3gpp.org/tsg_t/tsg_t/tsgt_04/docs/pdfs/tp-99127.pdf (Para bajar)

Informacion sobre el simbolo de grado
http://www.fileformat.info/info/unicode/char/b0/index.htm
« Última modificación: 16 de Mayo de 2020, 10:07:01 por KILLERJC »

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re:Símbolo grado "°" en SMS
« Respuesta #18 en: 16 de Mayo de 2020, 10:49:30 »
Hola

Mirate el comando AT+CSCS y prueba a usarlo con AT+CSCS="UCS2", a ver si te funciona.

Saludos

EDITO: No me habían salido las nuevas respuestas... Ya te hablan de la codificación UCS2.

Desconectado martinchd

  • PIC12
  • **
  • Mensajes: 78
Re:Símbolo grado "°" en SMS
« Respuesta #19 en: 16 de Mayo de 2020, 19:39:02 »
Muchísimas gracias chicos por esa información. No encontraba el motivo por el cual no podía enviar ese caracter.

Lo voy a dejar con el (*C), no es tan importante.

Saludos ....