Alguém poderia me explicar, eu não entendi exatamente o conceito.
O que é um Byte Array?
Onde e quando o usamos em aplicativos / programas?
quais são as vantagens e desvantagens de usar uma matriz de bytes?
java
arrays
computer-science
sonhador
fonte
fonte
Respostas:
Um byte tem 8 bits (dados binários).
Uma matriz de bytes é uma matriz de bytes (tautologia FTW!).
Você pode usar uma matriz de bytes para armazenar uma coleção de dados binários, por exemplo, o conteúdo de um arquivo. A desvantagem disso é que todo o conteúdo do arquivo deve ser carregado na memória.
Para grandes quantidades de dados binários, seria melhor usar um tipo de dados de streaming se sua linguagem oferecer suporte.
fonte
The downside to this is that the entire file contents must be loaded into memory.
?Presumo que você saiba o que é um byte. Uma matriz de bytes é simplesmente uma área da memória contendo um grupo de bytes contíguos (lado a lado), de modo que faz sentido falar sobre eles em ordem: o primeiro byte, o segundo byte etc.
Assim como os bytes podem codificar diferentes tipos e intervalos de dados (números de 0 a 255, números de -128 a 127, caracteres únicos usando ASCII, por exemplo, 'a' ou '%', códigos de operação da CPU), cada byte em uma matriz de bytes pode ser qualquer uma dessas coisas, ou contribuir para alguns valores de bytes múltiplos, como números com intervalo maior (por exemplo, int de 16 bits sem sinal de 0..65535), conjuntos de caracteres internacionais, strings de texto ("olá") ou parte / todos os programas de computador compilados.
O mais importante sobre uma matriz de bytes é que ela dá acesso indexado (rápido), preciso e bruto a cada valor de 8 bits armazenado naquela parte da memória, e você pode operar nesses bytes para controlar cada bit. O ruim é que o computador apenas trata cada entrada como um número independente de 8 bits - que pode ser o que seu programa está lidando, ou você pode preferir algum tipo de dados poderoso, como uma string que mantém o controle de seu próprio comprimento e cresce conforme necessário, ou um número de ponto flutuante que permite armazenar, digamos, 3,14 sem pensar sobre a representação bit a bit. Como um tipo de dados, é ineficiente inserir ou remover dados próximo ao início de uma longa matriz, pois todos os elementos subsequentes precisam ser embaralhados para fazer ou preencher a lacuna criada / necessária.
fonte
Da wikipedia :
Portanto, quando você diz array de bytes, está se referindo a um array de algum comprimento definido (por exemplo, número de elementos) que contém uma coleção de elementos de tamanho de bytes (8 bits).
Em C #, uma matriz de bytes pode ser semelhante a:
O exemplo acima define uma matriz de 4 elementos, onde cada elemento pode ter até um byte de comprimento.
fonte