C # Convierte un Base64 -> byte []


93

Tengo una Base64 byte[]matriz que se transfiere desde una secuencia que necesito convertir a una normal, byte[]¿cómo hacer esto?


¿Qué es un "Base64 byte[]"? ¿En qué codificación está?
SLaks

2
¿puedes poner el código aquí?
Fereydoon Barikzehy

Sí, no creo que tengas Base64 byte[]. Si está en formato Base64, es una cadena.
vapcguy

Respuestas:


167

Tienes que usar Convert.FromBase64String para convertir un Base64 codificado stringen un byte[].


3
necesito byte[] - > byte[] | este método esbyte[] -> string
Sudantha

4
Base64 es siempre texto ascii. Así que hazlo Encoding.ASCII.GetString(base64arr)primero.
Nyerguds

3
Hay un Convert.FromBase64CharArray ahora.
Lee Louviere

41

Esto puede ser útil

byte[] bytes = System.Convert.FromBase64String(stringInBase64);

7

Tratar

byte[] incomingByteArray = receive...; // This is your Base64-encoded bute[]

byte[] decodedByteArray =Convert.FromBase64String (Encoding.ASCII.GetString (incomingByteArray)); 
// This work because all Base64-encoding is done with pure ASCII characters

3

Estás buscando la FromBase64Transformclase, usada con la CryptoStreamclase.

Si tiene una cadena, también puede llamar Convert.FromBase64String.


3

He escrito un método de extensión para este propósito:

public static byte[] FromBase64Bytes(this byte[] base64Bytes)
{
    string base64String = Encoding.UTF8.GetString(base64Bytes, 0, base64Bytes.Length);
    return Convert.FromBase64String(base64String);
}

Llámalo así:

byte[] base64Bytes = .......
byte[] regularBytes = base64Bytes.FromBase64Bytes();

Espero que esto ayude a alguien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.