RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  55257 - CONVERTIR UNICODE/ANSI/UNICODE
Autor:  manuel sabogal
Estoy desarrollando una aplicacion con sockets en visual basic 6 y requiero hacer una conversion de codigo para disminuir el peso de los paquetes enviados.

Solo requiero enviar Stream, pero para ello hago una conversion de codigo de ANSI a UTF8, pero a la hora de recivir los Stream en UTF8 no puedo convertirlos de nuevo a ANSI, solo logro tomar los caracteres en ASCII.

El codigo q uso para enviar convertir los datos a UTF8 es:

Public Declare Function WideCharToMultiByte Lib "kernel32" _
(ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long

Public Const CP_UTF8 = 65001

Public Function WideToUnicode(ByVal StrWide As String) As String
Dim stBuffer() As Byte
Dim cwch As Long
Dim pwzBuffer As Long

If Len(StrWide) = 0 Then Exit Function

pwzBuffer = Len(StrWide) * 3 + 1
ReDim stBuffer(pwzBuffer - 1)
cwch = WideCharToMultiByte(CP_UTF8, 0&, StrPtr(StrWide), Len(StrWide), stBuffer(0), pwzBuffer, vbNullString, ByVal 0&)

If cwch Then
cwch = cwch - 1
ReDim Preserve stBuffer(cwch)
WideToUnicode = StrConv(stBuffer, vbUnicode)
End If
End Function

Como puedo mejorar este codigo lograr una conversion de UTF8 a ANSI correcta???


Nombre
Apellidos
Correo
Comentarios