¿Podría alguien explicarme, no entiendo exactamente el concepto?
¿Qué es una matriz de bytes?
¿Dónde y cuándo lo usamos en aplicaciones / programas?
¿Cuáles son las ventajas y desventajas de usar una matriz de bytes?
¿Podría alguien explicarme, no entiendo exactamente el concepto?
¿Qué es una matriz de bytes?
¿Dónde y cuándo lo usamos en aplicaciones / programas?
¿Cuáles son las ventajas y desventajas de usar una matriz de bytes?
Respuestas:
Un byte tiene 8 bits (datos binarios).
Una matriz de bytes es una matriz de bytes (¡tautología FTW!).
Puede utilizar una matriz de bytes para almacenar una colección de datos binarios, por ejemplo, el contenido de un archivo. La desventaja de esto es que todo el contenido del archivo debe cargarse en la memoria.
Para grandes cantidades de datos binarios, sería mejor utilizar un tipo de datos de transmisión continua si su idioma lo admite.
The downside to this is that the entire file contents must be loaded into memory.
?
Supongo que sabe lo que es un byte. Una matriz de bytes es simplemente un área de memoria que contiene un grupo de bytes contiguos (uno al lado del otro), de modo que tiene sentido hablar de ellos en orden: el primer byte, el segundo byte, etc.
Así como los bytes pueden codificar diferentes tipos y rangos de datos (números del 0 al 255, números del -128 al 127, caracteres individuales usando ASCII, por ejemplo, 'a' o '%', códigos de operación de la CPU), cada byte en una matriz de bytes puede ser cualquiera de estas cosas, o contribuir a algunos valores de varios bytes, como números con un rango más grande (por ejemplo, 16 bits sin signo int de 0..65535), conjuntos de caracteres internacionales, cadenas textuales ("hola") o parte / todos los programas de computadora compilados.
Lo crucial de una matriz de bytes es que brinda acceso indexado (rápido), preciso y sin procesar a cada valor de 8 bits que se almacena en esa parte de la memoria, y puede operar en esos bytes para controlar cada bit. Lo malo es que la computadora simplemente trata cada entrada como un número independiente de 8 bits, que puede ser con lo que está tratando su programa, o puede que prefiera algún tipo de datos poderoso, como una cadena que realiza un seguimiento de su propia longitud y crece según sea necesario, o un número de punto flotante que le permita almacenar, por ejemplo, 3.14 sin pensar en la representación de bits. Como tipo de datos, es ineficiente insertar o eliminar datos cerca del inicio de una matriz larga, ya que todos los elementos posteriores deben mezclarse para hacer o llenar el espacio creado / requerido.
De wikipedia :
En informática, una estructura de datos de matriz o simplemente matriz es una estructura de datos que consta de una colección de elementos (valores o variables), cada uno identificado por uno o más índices enteros, almacenados de modo que la dirección de cada elemento pueda calcularse a partir de su índice. tupla mediante una fórmula matemática simple.
Entonces, cuando dice matriz de bytes, se refiere a una matriz de una longitud definida (por ejemplo, número de elementos) que contiene una colección de elementos de tamaño de bytes (8 bits).
En C #, una matriz de bytes podría verse así:
byte[] bytes = { 3, 10, 8, 25 };
El ejemplo anterior define una matriz de 4 elementos, donde cada elemento puede tener hasta un Byte de longitud.