¿Cómo leer un fichero y representarlo en hexadecimal en lenguaje C?

Quiero leer un archivo en lenguaje C pero que me represente lo que haya leído en hexadecimal.

Había hecho un programa pero me lo representaba en letras ASCII, luego he probado a cambiar las letras por su correspondiente código hexadecimal, pero muchas letras no son las mismas...

¿Hay alguna forma de leer directamente un fichero pero que te lo lea entero en Hexadecimal o en binario en vez de que te lo transforme en letras ascii en lenguaje C?

No se si me explico

1

1 respuesta

Respuesta
1

Realmente en C los datos son bastante intercambiables. Un char se puede tratar como un byte, etc. Para representar en hexadecimal lo más sencillo es printf("%X", caracter); El ordenador no lee datos en un formato. Yo diría más bien que visualiza los datos en el formato que nosotros le indiquemos. El ordenador solo ve unos y ceros, otra cosa es como nosotros le decimos al ordenador que queremos agrupar y visualizar los datos de una u otra manera. En los inicios de la informática moderna, se decidió que los ceros y unos se tratarían en grupos de 8 bits denominándolo byte y este grupo a veces representa un carácter ASCII, otras veces un entero sin signo de 0 a 255 y otras un entero con signo de -128 a 127. Si juntamos dos bytes tenemos un entero de 16bits 0-65534 y con 4 bytes tenemos cosas tan variadas como una dirección IP o los colores de un pixel de una imagen. Si quieres convertirte en un buen programador debes comprender que es el mismo programador el que determina el significado de los datos.

Ya lo solucione ayer, tenia que tratar los datos como char sin singno y ya me representaba desde el 0-255.

De todas formas gracias por la aclaracion!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas