Autor Tema: convertir cadena ascii a hexadecimal  (Leído 5339 veces)

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

Desconectado karen81

  • PIC10
  • *
  • Mensajes: 22
convertir cadena ascii a hexadecimal
« en: 20 de Marzo de 2006, 21:21:00 »
pues tengo una duda yo habia encontrado una rutina para convertir cadenas de ascci a hexadecimal lo que hago es:
Dim a As Byte
Dim b As Byte
Dim c As Byte
Dim d As Byte
Dim e as string
Dim f as long

e= "ABCD"
a = Asc(Mid(e, 1, 1)) "se convierten a decimal los valores ascii
b = Asc(Mid(e, 2, 1))
c = Asc(Mid(e, 3, 1))
d = Asc(Mid(e, 4, 1))
" rutina que finalmente encuentra el valor decimal de todo el arreglo ascii
f = ((a And &H7F) * &H1000000) Or (b * &H10000) Or (CLng(c) * &H100) Or d
   If a And &H80 Then
        f = fOr &H80000000
no se si alguien tiene otra forma de hacerlo, si alguien la tiene le agradeceria mucho que la posteara.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
RE: convertir cadena ascii a hexadecimal
« Respuesta #1 en: 20 de Marzo de 2006, 22:39:00 »
hola. no entendi muy bien lo que queres... a ver..aca te programe algo:


Codigo:


Private Sub Form_Load()

Cadena2hex "hola"

End Sub


Private Function Cadena2hex(Cadena As String) As String


Dim Recorre As Integer

For Recorre = 1 To Len(Cadena)

    Cadena2hex = Cadena2hex & Hex(Asc(Mid(Cadena, Recorre, 1)))

Next

    MsgBox Cadena2hex

End Function




no se si es lo que querias...
Saludos
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado karen81

  • PIC10
  • *
  • Mensajes: 22
RE: convertir cadena ascii a hexadecimal
« Respuesta #2 en: 21 de Marzo de 2006, 10:01:00 »
Vacilando cometi un error; perdon, mi pregunta era convertir cadena ascii a DECIMAL.
el programa que puse arriba es precisamente para eso de ascii a decimal.
Gracias BrunoF, por tu tiempo Flash, si tenes otra forma de pasar de ascii a decimal te agradeceria mucho que lo postearas. Gracias.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
RE: convertir cadena ascii a hexadecimal
« Respuesta #3 en: 21 de Marzo de 2006, 17:09:00 »
jeje ok...cualquiera se equivoca...Aca te pongo una "alternativa" que programe para ti. ¿que cosa rara andas inventando?locolocoSonrisa Gigante

Codigo:


Private Sub Form_Load()

MsgBox Cadena2Dec("ABCD"Giño

End Sub


Private Function Cadena2Dec(Cadena As String) As Long

Dim Recorre As Integer

For Recorre = 1 To Len(Cadena)
    Cadena2Dec = Cadena2Dec + (Asc(Mid(Cadena, Recorre, 1))) * (256 ^ (Len(Cadena) - Recorre))

Next

End Function




Exitos...
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado karen81

  • PIC10
  • *
  • Mensajes: 22
RE: convertir cadena ascii a hexadecimal
« Respuesta #4 en: 28 de Marzo de 2006, 17:41:00 »
Giñopues solo queria aclarar que la rutina que puse arriba funciona perfectamente, queria una segunda opinion porque pense que estaba mal, pero no es asiVacilando
gracias BrunoF por tu tiempo Giño

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: convertir cadena ascii a hexadecimal
« Respuesta #5 en: 06 de Abril de 2006, 12:16:36 »
Bueno, una manera simple de comprobar este tipo de pasaje de decimal a binario, hex etc. es utilizar la calculadora de windows en modo cientifica, alli podras comprobar los valores en un sistema u otro. Saludos...
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.


 

anything