Convertir Hexadecimal a ASCII

Como el título del tema es convertir de hexadecimal a ASCII, adjunto un proyecto que realicé rápidamente.
Esta aplicación convierte archivos Intel Hex a binario.
No la terminé y tampoco pienso hacerlo pero, hasta donde llegué, funciona.
Y es que es complicado obtener una aplicación que lea archivos hexadecimales en varios formatos.
Por ejemplo, PIC de Microchip tiene su formato, Motorola y ARM, otro, etc. Entre otros detalles más de la estructura Intel.
Y bueno, como comenté anteriormente, ya existe un programa que es más dedicado a esto de la conversiones entre formatos.
Así que cualquier persona que sepa programar podrá realizar una aplicación dedicada y así obtener un resultado más preciso.

Cuando vean el resultado en binario podrán ver que no se pueden encontrar cadenas, ya que un archivo .hex compilado contiene nemónicos que representan una instrucción y a continuación el valor a ejecutar como su literal.

Lo escribí en Visual Studio C# usando .Net 4.0, así que lo podrán abrir sin inconvenientes de compatibilidad.
En el archivo Support.cs escribí una función de prueba (importHexFile) que no se está usando, pero la pensé como algo más dedicado al formato PIC16.
Le pueden dar el uso que quieran y modificar lo que quieran.
Y si mejoran el programa y sus funciones, solo avisen y adjunten los cambios.
 

Adjuntos

  • Intel Hex Converter.rar
    104 KB · Visitas: 15
Hola amigos . No he visto ningún video relacionado con la forma de utilizar srecord , ya que no estoy familiarizado con los códigos . gracias D @arkbytes . Voy a ver .
 
No he visto ningún video relacionado con la forma de utilizar srecord
Es que es una utilidad compleja, pero mostré la línea de comandos a usar.
Ejemplo: srec_cat 456.hex -Intel -output 456.bin -binary
Y para pasar de binario a hex: srec_cat 456.bin -binary -output _456.hex -intel
Le coloqué un guion bajo al archivo .hex para que no se sobre escriba el original o se produzca un error.
Esas líneas de comandos son cuando el archivo a procesar se encuentra en la misma carpeta bin de SRecord.
Pero vamos a suponer que tengo una carpeta en C:\ llamada "Temp" en donde tengo el archivo 456.hex
Entonces voy a la carpeta bin de SRecord, me sitúo en la barra de direcciones del explorador, escribo "cmd" (sin comillas) y presiono Enter.
Esto hará que se ejecute el Command Prompt o el PowerShell de Windows. (Depende de como tengan configurado el sistema)
En mi caso tengo configurado usar la Línea de comandos en lugar del PowerShell.
NoPS.png
Así que, mi línea de comandos será la siguiente: srec_cat c:\temp\456.hex -intel -output c:\temp\456.bin -binary

Gráficamente...
Command Prompt.png

Ya expliqué que no se encontrarán cadenas al convertir de .hex a .bin (ASCII)

Adjunto el manual de referencia de SRecord.
También los archivos .bin, el que genera SRecord y el que genera mi aplicación.
 

Adjuntos

  • reference-1.65.pdf
    435 KB · Visitas: 7
  • binfiles.rar
    4.1 KB · Visitas: 5
Hola amigos del foro tengo una pregunta no directamente relacionada con la radiofrecuencia . Tengo un archivo hexadecimal de un medidor digital de rf que al arrancar tiene un nombre LY2BOK , lo he abierto con notepad++ que incorpora un conversor de hex a ascii ( LY2BOK 4C5932424F4B ) necesito saber donde esta eso para intentar cambiarlo , no se como leer ese archivo hexadecimal , si me podeis echar una mano .

gracias de antemano
Solo puedo decirte al respecto de LYBOK que es un radioaficionado de Lituania (LY) y que pertenece al distrito 2 de su pais, y que las tres letras siguientes son su identificacion personal como Radioamateur.
Podia tratarse de un decodificador de telegrafia o rtty.
Las mias en España serian EA....X....XXX y un argentino LU...X....XXX.
La foto de el con sus equipos podeis solicitarlas a Google, poniendo su indicativo con radioamateur.


Saludos
 
Atrás
Arriba