É comum em diversas situações no desenvolvimento de software o recebimento de informações por meio de uma matriz de bytes (array), como também no sentido inverso, enviar informações a outras camadas, objetos e/ou APIs no formato de uma matriz de bytes (array).
Um exemplo prático deste tipo de situação é quando recebemos um array de bytes, geralmente vindo de uma imagem e/ou a leitura de arquivo e é preciso converter para string para gravação das informações em banco de dados.
Como converter um array de bytes para string
Para converter um array de bytes (byte[]) para string, siga o código abaixo.
public static string ByteArrayParaString(byte[] matrizByte){
System.Text.ASCIIEncoding conversor = new System.Text.ASCIIEncoding();
return conversor.GetString(matrizByte);
}
Como converter uma string para um array de bytes
Para converter uma string em um array de bytes (byte[]), siga o código abaixo.
public static byte[] StringParaByteArray(string str){
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
return encoding.GetBytes(str);
}
2 Respostas
Alan Santana
Olá amigo,
Gostaria de uma ajuda! Tenho uma string do tamanho do mundo, mas ela vem mais ou menos assim.. “0xFFD8FFE000104A46494600010100000100010000F”
Quer dizer, é uma imagem convertida em bytes(acho que é byte).
Teria como transformar esta string em bytes para em seguida gerar uma imagem??
ficarei muitissimo grato se ajudar
Alan
Cavas
Alan, obrigado pela visita.
Sim, ficarei grato em ajudar você.
A string mencionada em seu comentário, parece estar no formato Hexadecimal, sendo assim, será preciso identificar e converter cada carácter para Char e com isso montar uma nova sequência dos caracteres.
Segue abaixo o link para o artigo Como: converter entre cadeias de caracteres hexadecimais e tipos numéricos (guia de programação do C#) da Microsoft.
http://msdn.microsoft.com/pt-br/library/bb311038.aspx
Espero tê-lo ajudado, abraços e até a próxima.