Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: BlaineMonkey en 27 Junio 2011, 17:05 pm



Título: No veo tíldes al obtener texto mediante winsock
Publicado por: BlaineMonkey en 27 Junio 2011, 17:05 pm

Tengo una aplicación Visual Basic6 que emplea el componente winsock para recibir datos por socket.
El problema es que los textos que recibo por socket no muestra las tíldes, en su lugar muestra algo parecido a esto: ¿1/2

Supongo que será problema de codificación. Los datos los envía una aplicación .NET desarrollada en Visual Basic .NET.

¿Cómo puedo hacer para que emplee la misma codificación?


Título: Re: No veo tíldes al obtener texto mediante winsock
Publicado por: raul338 en 27 Junio 2011, 17:12 pm
Fijate como es la codificacion que esta enviando ese programa en .net (Unicode, UTF-8, etc) y de ahi cuando lo recivas en vb6 usas StrConv


Título: Re: No veo tíldes al obtener texto mediante winsock
Publicado por: BlaineMonkey en 28 Junio 2011, 09:33 am
Gracias por tu ayuda raul.
Lo he solucionado pasando el texto en codificación UNICODE y en la aplicación VB convirtiendolo de unicode empleando strconv.

Lo que no entiendo es el motivo de que esto pasase. La aplicación .NET codificaba en ASCII, y la aplicación visual Basic 6 no convertía a nada.

Ambas aplicaciones (.NET y VB6) corren en la misma máquina, por lo que la configuración regional etc.. es la misma, entonces, ¿Por qué he tenido que realizar conversiones?


Título: Re: No veo tíldes al obtener texto mediante winsock
Publicado por: raul338 en 28 Junio 2011, 15:02 pm
Es que en realidad vb6 maneja los strings en unicode y no en ascii :D aunque, es raro en realidad, debe ser alguna conversion en el medio