C# Converter array de bytes em string

Minahil Noor 16 fevereiro 2024
  1. Converter uma array de bytes em uma String utilizando Encoding.GetString() Método em C#
  2. C# Programa para converter um Byte Array para um String Utilizando o método MemoryStream
C# Converter array de bytes em string

Uma array de bytes é uma array de bytes. Em C#, uma array de bytes é usada para armazenar apenas valores positivos que variam de 0-255. Cada elemento da array tem um espaço de memória de 1 byte (8 bits).

Em C#, uma array de bytes pode ser processada exatamente como uma array normal. É interessante saber que uma array de bytes pode ser convertida para sua string equivalente. Uma string pode ser convertida para diferentes valores de codificação e então armazenada em uma array de bytes.

Neste artigo, vamos verificar diferentes métodos para converter uma array de bytes em uma string. Vamos mergulhar.

Converter uma array de bytes em uma String utilizando Encoding.GetString() Método em C#

O método Encoding.GetString() converte todos os bytes de uma array de bytes em uma string. Este método pertence à classe Encoding. Esta classe tem diferentes esquemas de codificação como Unicode, UTF8, ASCII, UTF32, etc.

A sintaxe correta para utilizar este método é a seguinte:

Encoding.Default.GetString(ByteArrayName);

Aqui Encoding.Default.GetString() é utilizado, ele irá converter os bytes da array de bytes em uma string do tipo padrão. Ele utilizará o esquema de codificação padrão.

Exemplo de código:

using System;
using System.Text;

namespace Example {
  class Conversion {
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));
      string String = Encoding.Default.GetString(ByteArray);
      Console.WriteLine("The String is: " + String);
    }
  }
}

Resultado:

The Byte Array is : 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101 The String is
    : This is example

C# Programa para converter um Byte Array para um String Utilizando o método MemoryStream

Em C#, a classe MemoryStream é utilizada para criar um fluxo de dados. Esta classe pertence ao espaço de nomes System.IO. Ela pode ser utilizada para converter uma array de bytes em uma string.

A sintaxe correta para utilizar este método é a seguinte:

using (MemoryStream Stream = new MemoryStream(ByteArrayName)) {
  using (StreamReader streamReader = new StreamReader(Stream)) {
    return streamReader.ReadToEnd();
  }
}

Aqui, criamos um MemoryStream que contém os bytes de uma array de bytes específica. Depois, utilizamos um StreamReader para ler todos os bytes do MemoryStream e retornar o fluxo como uma string.

Criamos um método personalizado chamado BytesToStringConversion() que aceita uma array de bytes como parâmetro e depois retorna uma string.

Exemplo de código:

using System;
using System.Text;
using System.IO;

namespace Example {
  class Conversion {
    static string BytesToStringConversion(byte[] bytes) {
      using (MemoryStream Stream = new MemoryStream(bytes)) {
        using (StreamReader streamReader = new StreamReader(Stream)) {
          return streamReader.ReadToEnd();
        }
      }
    }
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));

      string str = BytesToStringConversion(ByteArray);
      Console.WriteLine("The String is: " + str);
    }
  }
}

Resultado:

The Byte Array is : 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101 The String is
    : This is example

Artigo relacionado - Csharp Byte Array

Artigo relacionado - Csharp String