Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como convertir a assci o ansi??

Estas en el tema de como convertir a assci o ansi?? en el foro de Visual Basic clásico en Foros del Web. Hola... Alguien sabe cómo puedo convertir un archivo .dat de codificación UTF8 a ASCII a través de VB 6, ya sea antes de abrir el ...
  #1 (permalink)  
Antiguo 09/04/2007, 09:50
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Información como convertir a assci o ansi??

Hola...

Alguien sabe cómo puedo convertir un archivo .dat de codificación UTF8 a ASCII a través de VB 6, ya sea antes de abrir el archivo o al leerlo.

Esto porque los acentos y "eñes" me los lee el Visual como la mona.



saludssss
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #2 (permalink)  
Antiguo 09/04/2007, 10:05
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
Re: como convertir a assci o ansi??

http://groups.google.es/group/micros...f3c3fd8182563e
Cita:
Private Const CP_UTF8 = 65001


Private Declare Function MultiByteToWideChar Lib "kernel32" ( _
ByVal CodePage As Long, ByVal dwFlags As Long, _
ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, _
ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long


Public Function sUTF8ToUni(bySrc() As Byte) As String
' Converts a UTF-8 byte array to a Unicode string
Dim lBytes As Long, lNC As Long, lRet As Long


lBytes = UBound(bySrc) - LBound(bySrc) + 1
lNC = lBytes
sUTF8ToUni = String$(lNC, Chr(0))
lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(bySrc(LBound(bySrc))),
lBytes, StrPtr(sUTF8ToUni), lNC)
sUTF8ToUni = Left$(sUTF8ToUni, lRet)
End Function


Public Sub ConvertUTF8File(sUTF8File As String, sANSIFile As String)
Dim iFile As Integer, bData() As Byte, sData As String, lSize As Long


' Get the incoming data size
lSize = FileLen(sUTF8File)
If lSize > 0 Then
ReDim bData(0 To lSize - 1)


' Read the existing UTF-8 file
iFile = FreeFile()
Open sUTF8File For Binary As #iFile
Get #iFile, , bData
Close #iFile


' Convert all the data to Unicode (all VB Strings are Unicode)
sData = sUTF8ToUni(bData)
Else
sData = ""
End If


' Now write it all out to the ANSI file
iFile = FreeFile()
Open sANSIFile For Output As #iFile
Print #iFile, sData
Close iFile
End Sub
salu2
  #3 (permalink)  
Antiguo 09/04/2007, 10:50
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Re: como convertir a assci o ansi??

o_O!!!
graciassss, no pense que respondieran tan rapido. Yo acabo de encontrar otra solución en: http://www.planet-source-code.com/vb...9&lngWId=1#zip

y funciona... bueno, pero muchisimas gracias de todos modos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #4 (permalink)  
Antiguo 09/04/2007, 12:50
 
Fecha de Ingreso: marzo-2007
Mensajes: 66
Antigüedad: 17 años
Puntos: 0
Re: como convertir a assci o ansi??

pana de casulidad sabes como hace para convertir un programa en vb en aplicacion, es decir una vez creado el programa hacerlo aplicacion.
  #5 (permalink)  
Antiguo 02/05/2007, 09:02
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: como convertir a assci o ansi??

com hago para utilizar ese codigo... apenas estoy empezando en VB y necesito solucionar ese mismo problema.. ya que necesito leer los archivos LOG que hace mi backup de cinta, pero tengo problrmas porque vienen en UNICODE..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:57.