C# Convertir el array de bytes en cadena
-
Convertir un
Byte Array
en unacadena
usando el métodoEncoding.GetString()
enC#
-
Programa C# para convertir una
array de bytes
en unacadena
usando el métodoMemoryStream
Una array de bytes
es un array de bytes. En C#, una array de bytes
se utiliza para almacenar sólo valores positivos que van de 0 a 255. Cada elemento de la array
tiene un espacio de memoria de 1 byte (8 bits
).
En C#, una array de bytes
puede ser procesada como un array
normal. Es interesante saber que una array de bytes
puede ser convertida a su equivalente cadena
. Una cadena
puede ser convertida a diferentes valores de codificación y luego almacenada en una array de bytes
.
En este artículo, vamos a revisar diferentes métodos para convertir una array de bytes
en una cadena
. Vamos a sumergirnos.
Convertir un Byte Array
en una cadena
usando el método Encoding.GetString()
en C#
El método Encoding.GetString()
convierte todos los bytes
de una array de bytes
en una cadena
. Este método pertenece a la clase Encoding
. Esta clase tiene diferentes esquemas de codificación como Unicode
, UTF8
, ASCII
, UTF32
, etc.
La sintaxis correcta para usar este método es la siguiente:
Encoding.Default.GetString(ByteArrayName);
Aquí se usa Encoding.Default.GetString()
, que convertirá los bytes
del array de bytes
en el tipo string
por defecto. Usará el esquema de codificación por defecto.
Código de ejemplo:
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);
}
}
}
Producción :
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
Programa C# para convertir una array de bytes
en una cadena
usando el método MemoryStream
En C#, la clase MemoryStream
se utiliza para crear un flujo de datos. Esta clase pertenece al espacio de nombres System.IO
. Se puede usar para convertir un array de bytes
en una cadena
.
La sintaxis correcta para usar este método es la siguiente:
using (MemoryStream Stream = new MemoryStream(ByteArrayName)) {
using (StreamReader streamReader = new StreamReader(Stream)) {
return streamReader.ReadToEnd();
}
}
Aquí, hemos creado una MemoryStream
que contiene los bytes
de una array de bytes
específica. Luego, hemos usado un StreamReader
para leer todos los bytes
de MemoryStream
y devolver el flujo como una cadena
.
Hemos creado un método personalizado llamado BytesToStringConversion()
que acepta una array de bytes
como parámetro y luego devuelve una cadena
.
Código de ejemplo:
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);
}
}
}
Producción :
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