Visual Basic - Traducir Archivos Hexadecimales a Texto

Life is soft - evento anual de software empresarial
 
Vista:

Traducir Archivos Hexadecimales a Texto

Publicado por ariel (6 intervenciones) el 08/06/2006 21:24:24
Necesito realizar una funcion que traduzca todos los datos de un archivo .DAT que esta en hexadecimal y lo convierta a un archivo de texo con los datos entendibles para su lectura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Traducir Archivos Hexadecimales a Texto

Publicado por Javi RM (187 intervenciones) el 09/06/2006 12:11:36
Con los datos entendibles para lectura entiendo que quieres decir esto:

0x0256(hexadecimal) --> 598 (decimal)

Te voy a explicar unas pinceladas de como hacerlo.

Primero, para acceder al archivo binario debes abrirlo en modo "binary" y mediante la instrucción "Input" vas cogiendo los bytes que necesites.
Siguiendo el ejemplo anterior:

dim strhexa as string
dim lngDecimal as long

Open "ruta de archivo" for binary access read as #1
/*AQUI LEES LOS DOS BYTES*/
strhexa = Input(2,#1)

/*Para realizar el cambio de base de con dos bytes*/
/*Relamente lo que hago es coger cada byte, pasarlos a hexa y enlazarlos*/
lngDecimal =clng("&H" & hex(asc(mid(strhexa,1,1))) & hex(asc(mid(strhexa,1,2))))

Close #1

Entiendo que debes conocer las normas de cambio de base.

Igualmente te pongo una función que he hecho para evitarme el tener que convertir siempre manualmente.

/*Devuelve un valor numérico extraido de una cadena de bytes*/
Public Function GetValue(CAD As String) As Variant
Dim i As Long
Dim CadHexa As String

CadHexa = ""
For i = 1 To Len(CAD)
CadHexa = CadHexa & FHEX(Hex(Asc(Mid(CAD, i, 1))))
Next i
GetValue = CLng("&H" & CadHexa)

End Function

Private Function FHEX(Valor As String) As String
If Len(Valor) = 1 Then
FHEX = "0" & Valor
Else
FHEX = Valor
End If
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Traducir Archivos Hexadecimales a Texto

Publicado por ariel (6 intervenciones) el 13/06/2006 23:51:52
Mis archivos tienen String que contienen transacciones como estos

22 99 3A 37 33 3A 31 32 3A 44 65 73 2E 66 61 6D 69 6C 69 61 3A 38 32 3A 35 35 30 3A 47 22

Y eso lo que yo quiero traducir a ascci o text
Por ejemplo el 22 es inicio y fin de cadena
99 el comienzo del string
3A son separadores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar