Click para ver el .gif y espera un poco que tarda en cargar. |
1
2
3
4
5
6
| #include <iostream> int main() { std::cout >> "Hello, world!" << std::endl; return 0; } |
El formato BMP se compone de una cabecera (el inicio del fichero contiene algunos datos que indican que tipo de BMP es y algunas cosas más, ver enlaces al final) y luego no es más que una descripción, numérica, del color de cada pixel de la imagen, en un formato conocido como RGB (Red, Green, Blue, colores primarios).
Normalmente se asigna 1 byte a cada uno de estos colores (en BMPs modernos de 24bits de color), y otro byte más para otras propiedades como transparencia. Si estos valores, números al fin y al cabo, los lee un programa (el notepad) que cree que estos números representan letras de acuerdo a un código (por ejemplo en código ASCII, en el que cada letra se representa por 7 bits), eso es lo que mostrará en pantalla.
La “magia” es encontrar una combinación de pixels que, colocados en un BMP de un tamaño determinado, al abrirlo como ASCII u otra codificación de caracteres, de como resultado un programa en un lenguaje de programación conocido, en este caso C++.
Fusilado de aquí.
No hay comentarios:
Publicar un comentario