Si ASCII es binario a texto, ¿cuál es la relación entre binario a imagen?

Una imagen en el mundo digital está compuesta por muchos puntos o píxeles individuales (abreviatura de elementos de imagen ). Conceptualmente, una imagen consiste en una matriz bidimensional de píxeles, pero en la práctica, esa estructura de fila y columna bidimensional es impuesta por el software que se ocupa de la imagen, por lo que si mira en la memoria verá solo una secuencia de píxeles

Entonces, ¿cómo se representan los píxeles en binario? Depende del tipo de imagen que estamos tratando:

  • Si la imagen está compuesta exclusivamente de píxeles en blanco y negro , entonces podemos representar cada píxel utilizando solo un bit (dígito binario). Ese dígito es 0 o 1, apagado o encendido, correspondiente a blanco o negro. Una imagen, entonces, sería una secuencia de bits, donde cada bit representa un píxel de la imagen.
  • Si la imagen es en escala de grises y contiene varios tonos de gris, necesitamos más bits para representar cada píxel. Por ejemplo, si necesitáramos 256 valores de escala de grises individuales que van desde negro (0) a blanco (255), necesitaríamos ocho bits (un byte) para representar cada píxel. Los valores entre 0 y 255 representarían varios tonos de gris. Si necesitáramos representar tonos de gris más distintos, simplemente usaríamos más bits para representar cada píxel.
  • Si la imagen está en color , de alguna manera necesitamos representar el color exacto de cada píxel. Hay muchas maneras de hacer esto, pero consideremos un enfoque popular: representar la combinación de rojo, verde y azul para llegar al color que nos interesa. Nos referimos a esto como una estructura RGB, en la que tiene algunos bits que representan cuánto rojo (R) hay en el píxel, cuánto verde (G) hay en el píxel y cuánto azul (B) hay en el píxel. Estos tres componentes (o canales de color) se mezclan para representar un color específico. Podríamos asignar un byte para el rojo (256 niveles de rojo), un byte para el verde (256 niveles de verde) y un byte para el azul (256 niveles de azul). Un píxel en el que R es 255, G es 0 y B es 0 aparecería rojo, sin azul ni verde. Un píxel en el que R es 255, G es 165 y B es 0, aparecería naranja, una mezcla de rojo y verde, pero no azul. Un píxel en el que todos los canales R, G y B contienen el mismo valor representaría un tono de gris (donde todos los colores componentes contribuyen igualmente al color final). Si necesitamos representar más colores, solo usamos más bits para cada uno de los tres canales. Entonces, al menos en estos días, cada píxel en una imagen en color está compuesto por múltiples bytes, donde esos bytes juntos representan el color del píxel. (Existen otros enfoques para la representación del color. Esto es solo un ejemplo).
  • Si la imagen en color admite transparencia , entonces necesitamos agregar algo conocido como un canal alfa , para indicar la opacidad del píxel. Nuevamente, hay varias formas de representar esto, pero si estamos usando una representación de color RGB, entonces, para el soporte de transparencia, usaríamos una representación RGBA, donde A representa el canal alfa. El valor numérico en el componente A de un píxel RGBA indica qué tan transparente aparecerá el píxel. Entonces, cada píxel en una imagen en color con transparencia está formado por múltiples bytes, donde esos bytes juntos representan el color y la transparencia del píxel.

Hay muchos formatos de archivo de imagen diferentes, y dentro de cada formato, a menudo hay muchas opciones sobre cómo se representan los píxeles, cuántos bits o bytes representan cada píxel, cuántos bits o bytes representan transparencia, cómo se comprime la información, si El formato admite transparencia y una amplia variedad de otras opciones. El archivo de imagen en sí generalmente contiene un montón de información al principio (conocida como encabezado ), que contiene información sobre la imagen (ancho, alto, representación de color, etc.). Esta sección de encabezado del archivo suele ir seguida de los datos de píxeles reales. Pero muchos formatos de archivo de imagen son mucho más complejos que esto, para admitir una amplia variedad de opciones.

Una vez que la imagen se carga en la memoria, y tiene la información de ancho y alto, básicamente se trata de un montón de píxeles. Cómo se representan esos píxeles en binario depende del tipo de imagen y las convenciones utilizadas, como se describe anteriormente.

Los códigos ASCII proporcionan esencialmente una convención para permitir la representación de caracteres de texto utilizando valores binarios. ASCII es solo uno de esos esquemas de codificación que representa caracteres; hay otros. Mientras el software que escribe archivos que contienen los datos de texto y el software que lee y procesa esos datos concuerdan con el esquema de codificación, todo está bien. Del mismo modo, las imágenes se representan convencionalmente mediante valores binarios que describen un conjunto de píxeles, y hay una variedad de formas de representar esos píxeles. Mientras el software que escribe los archivos que contienen los datos de píxeles y el software que lee y procesa esos datos coinciden en el esquema de codificación, todo está bien.

En todo lo binario, en realidad estamos hablando de números. Binario es la forma en que una computadora almacena números. Incluso el texto ASCII es solo un número para cada carácter, en particular un número que va de 0 a 255 almacenado como 8 dígitos en binario (8 bits o un byte).

Al igual que ASCII es solo un tipo de codificación para texto (hay muchos otros, incluidos los que pueden almacenar mucho más que solo 256 caracteres diferentes como UTF16 usando 2 o 4 bytes por carácter), también obtiene varias codificaciones para imágenes. Por ejemplo, una de esas codificaciones es RGB (es decir, los niveles de Rojo Azul y Verde en cada punto de la imagen), esto puede ser que cada uno de ellos es un número que va de 0 a 255, lo que significa que cada punto (píxel) en la imagen ocupa 3 bytes para definir sus niveles de RGB.

También hay otros, por ejemplo, CMYK (cian, magenta, amarillo y negro) o HSV (saturación y valor de tono). Y si solo hay negro / blanco o niveles de gris, entonces solo puede necesitar un bit para definir blanco o negro, o un número variable de bits para definir niveles de gris que van del negro al blanco. Algunas codificaciones usan un índice, lo que significa que al principio afirman que el número 0 es para el valor RGB tal y tal, el número 1 para los valores RGB y otros, etc. Luego, para cada píxel simplemente guardan esos números de índice, por ejemplo, GIF hace este tipo de idea y tiene un índice máximo de 255.

Luego llegas a los formatos de almacenamiento. Estos tienden a definir alguna forma de estipular también las dimensiones de la imagen (por ejemplo, cuántos píxeles de ancho y cuántos de alto). De lo contrario, es bastante difícil averiguar dónde se detiene la línea de píxeles y, por lo tanto, comenzar la siguiente línea (terminaría con solo una línea multicolor). Cosas como BMP reservan una parte al comienzo del archivo llamada encabezado; dentro de esto, algunos bytes se utilizan para representar los números de estos valores.

Algunos formatos también definen formas de almacenar los datos de píxeles de manera más eficiente. Similar a ejecutar un archivo TXT ASCII a través de un compresor como ZIP, algunos formatos hacen algo similar a los píxeles. Por ejemplo, PNG hace un ZIP en la parte superior de los valores RGB. JPG va más allá incluso ajustando vecinos que son solo ligeramente diferentes para que pueda almacenarlos a todos como un solo valor.

Esta pregunta esconde un malentendido acerca de lo que realmente significa binario. Hablando estrictamente, un archivo de texto contiene los caracteres imprimibles del conjunto ASCII y un archivo binario podría contener todos los caracteres ASCII.

Pero todos los archivos son en realidad binarios. La distinción que acabo de hacer tiene que ver con lo que sucede cuando intenta imprimir el contenido del archivo en la pantalla (o enviarlo a través de un módem).

Pero déjame divagar por un segundo.

En una computadora todo se almacena en binario, los bits individuales representan 1 o 0.

Una colección de 8 bits se conoce como byte, de donde obtenemos términos como megabyte y gigabyte. Hay razones heredadas por las que son 8 bits, y no 16 o 32 bits. En realidad, tiene que ver con el hardware de la computadora en el pasado.

Cuando visualiza estos bytes sin formato en una pantalla, necesita algún tipo de representación visual, una clave de cómo se ve cada combinación de 8 bits. Aquí es donde entra ASCII. Es solo uno de los muchos (hoy) mapas que se convierten entre una colección de bits y una representación en pantalla.

Ahora es importante hacer una distinción entre esta represión en bruto y la coincidencia de que parte de esta representación en bruto se ve como caracteres del alfabeto. Obviamente, ASCII tiene más de 26 caracteres, algunos de ellos representan códigos de control para saltos de línea, campanas, pestañas, etc.

Ahora imagine que miré más allá de esta coincidencia y que solo me interesaban los bits y qué datos representaban esos bits .

Aquí es donde entra el binario real . Almacenamos el contenido de un documento o imagen de Word en un archivo y cuando abrimos el archivo en un editor hexadecimal o un bloc de notas, vemos el contenido binario convenientemente agrupado en 8 bits (o un byte asignado a su equivalente ASCII visual ). Los datos en bruto se utilizan como entrada para el contenido del documento de Word o para almacenar las instrucciones ejecutables para su juego favorito.

Entonces ASCII es binario. Solo una forma de ver una colección de 8 bits. Las computadoras modernas tienen otras tablas de mapeo que dan lugar a UTF-8 o incluso unicode. Eso es simplemente una representación visual diferente de un número variable de bits agrupados.

Solo un lado cuando envía archivos binarios a través de Internet, se reasignan a los caracteres imprimibles de la tabla ASCII y luego se ‘vuelven a codificar’ en el conjunto de caracteres completo en el otro lado.

Esa es una gran pregunta!

ASCII es un tipo de codificación, específicamente una codificación binaria de datos textuales. Hay otras codificaciones binarias para texto, como UTF-8 y UTF-16 para nombrar un par.

Una codificación es una forma específica y bien definida de representar un tipo de información – texto, en este caso – usando un tipo diferente de información, por ejemplo, datos binarios.

Hay muchos otros tipos de codificación. El ejemplo clásico es el código Morse, que codifica el texto como puntos y guiones. ¡Pero hay tantos otros! Podemos codificar ciertos tipos de música como notas en una página; codificamos emociones usando emojis; etc.

Estás preguntando sobre codificaciones binarias de datos de imagen. Hay bastantes, los más comunes son JPEG y GIF. Usualmente nos referimos a ellos como formatos de archivo de imagen.

La mayoría de las codificaciones de imágenes tienen dos componentes más o menos independientes: primero, hay una codificación de los datos de la imagen en alguna representación numérica, por ejemplo, una secuencia de valores de píxeles RGB. En la mayoría de los casos, estos datos numéricos se comprimen. Finalmente, los datos comprimidos se codifican en binario.

La primera codificación, por cierto, a menudo la realiza la fuente de datos de imagen, por ejemplo, una cámara digital o un escáner, en un proceso llamado digitalización. A partir de ese momento, la imagen se procesa en formato digital.

ASCII es un conjunto de caracteres, no un binario. Otros conjuntos de caracteres: codificación de caracteres – Wikipedia

Un tipo de letra que se puede usar en una computadora está codificado en un formato de archivo de fuente, que generalmente es un archivo binario. Ejemplos de formatos de archivo de fuente: Fuente de computadora – Wikipedia

También puede codificar un tipo de letra en SVG, y SVG es un formato basado en texto, no binario.

Una imagen (imagen digital) está codificada en un formato de archivo de imagen. El formato del archivo puede ser basado en texto o binario. En general, los formatos de mapa de bits son binarios y los formatos vectoriales están basados ​​en texto, pero puede haber formatos extraños que reviertan esto.

Si ASCII es binario a texto, ¿cuál es la relación entre binario a imagen?

  • AAI
  • ARTE
  • ARW
  • AVI
  • AVS
  • BPG
  • BMP, BMP2, BMP3
  • BRF
  • CALS
  • CGM
  • CIN
  • CR2
  • CRW
  • CANALLA
  • CORTAR
  • DCM
  • DCR
  • DCX
  • DDS
  • DIB
  • DJVU
  • DNG
  • PUNTO
  • DPX
  • EMF
  • EPDF
  • EPI
  • EPS
  • EPS2
  • EPS3
  • EPSF
  • EPSI
  • EPT
  • EXR
  • FAX
  • higo
  • ENCAJA
  • FPX
  • GIF
  • GPLT
  • GRIS
  • HDR
  • HPGL
  • HRZ
  • ICO
  • ISOBRL
  • ISOBRL6
  • JBIG
  • JNG
  • JP2
  • JPT
  • J2C
  • J2K
  • JPEG
  • JXR
  • JSON
  • HOMBRE
  • ESTERA
  • OFENDER
  • MONO
  • MNG
  • M2V
  • MPEG
  • MRW
  • MSL
  • MTV
  • MVG
  • NEF
  • ORF
  • OTB
  • P7
  • PALMA
  • PAM
  • PBM
  • PCD
  • PCDS
  • PCL
  • PCX
  • PDB
  • PDF
  • PEF
  • PSA
  • PFA
  • PFB
  • PFM
  • PGM
  • PICON
  • PICTO
  • PIX
  • PNG
  • PNG8
  • PNG00
  • PNG24
  • PNG32
  • PNG48
  • PNG64
  • PNM
  • PPM
  • PD
  • PS2
  • PS3
  • PSB
  • PSD
  • PTIF
  • PWP
  • RAD
  • RAF
  • RGF
  • RLA
  • RLE
  • SCT
  • SFW
  • SGI
  • SID, MrSID
  • DOM
  • SVG
  • TGA
  • PELEA
  • TIM
  • TTF
  • UBRL
  • UBRL6
  • UIL
  • UYVY
  • VICARIO
  • VIFF
  • WBMP
  • WDP
  • WEBP
  • WMF
  • WPG
  • XBM
  • XCF
  • XPM
  • XWD
  • X3F

(incompleto)

¡Yo se esto! ¡Vi el video de youtube! Rutina de comedia stand-up sobre hojas de cálculo. Sí, la relación entre binario y una imagen es una hoja de cálculo.