Técnicamente, toda la memoria es una matriz gigante de bytes (hasta 2 bytes direccionables en un espacio de direcciones de 32 bits). En C# (y C, C++, Java y muchos otros lenguajes), una matriz de bytes es simplemente un fragmento contiguo de memoria. Por lo tanto, una matriz byte[n]
es un bloque de n
bytes.
Las matrices de bytes normalmente no tienen otro tipo que "byte", que es simplemente un elemento de datos de 8 bits.
Los arrays de bytes se usan generalmente para E/S de bajo nivel, como búferes de lectura/escritura para archivos y redes, como búferes de imágenes gráficas y como flujos de datos "sin tipo".
Addendum
Bytes también se conocen como octetos, es decir, valores de ocho bits. Los octetos son la unidad universal para el intercambio de datos entre prácticamente todos los sistemas informáticos y de información actualmente en uso.
Incluso los sistemas y las codificaciones que utilizan algo distinto de los valores de 8 bits todavía usan octetos para leer, escribir y transferir datos entre esos sistemas. Por ejemplo, las muestras de sonido de CD de audio están codificadas como un par estéreo de valores de 16 bits con signo muestreados a 44,100 Hz. Cuando se accede como un archivo plano (por ejemplo, como a.Archivo WAV) o flujo de datos, sin embargo, aparece como una secuencia de octetos.
En el contexto de los lenguajes de programación, entonces, dicho archivo de sonido podría almacenarse en su forma original como una matriz de un solo byte.
¿La matriz de bytes es de alguna manera diferente de cualquier otra matriz? ¿Por qué preguntas explícitamente sobre la matriz de bytes? – Andrey
Me resulta difícil entender cómo podría decir que está familiarizado con las definiciones estándar de "matriz" y "byte" y, sin embargo, no entiende lo que significaría el término "matriz de bytes". ¿Qué pasa es confuso para usted? –