C # Konversi Base64 -> byte []

93

Saya memiliki Base64 byte[]array yang ditransfer dari aliran yang saya butuhkan untuk mengubahnya menjadi normal byte[]bagaimana melakukan ini?

Sudantha
sumber
Apa itu "Base64 byte[]"? Apa pengkodeannya?
SLaks
2
bisakah kamu menaruh kodenya di sini?
Fereydoon Barikzehy
Ya, saya tidak berpikir Anda memiliki Base64 byte[]. Jika dalam format Base64, itu adalah string.
vapcguy

Jawaban:

167

Anda harus menggunakan Convert.FromBase64String untuk mengubah Base64 yang dikodekan stringmenjadi file byte[].

Zruty
sumber
3
saya butuh byte[] - > byte[] | metode ini adalahbyte[] -> string
Sudantha
4
Base64 selalu merupakan teks ascii. Jadi lakukan saja Encoding.ASCII.GetString(base64arr)dulu.
Nyerguds
3
Ada Convert.FromBase64CharArray sekarang.
Lee Louviere
41

Ini mungkin berguna

byte[] bytes = System.Convert.FromBase64String(stringInBase64);
Selim Reza
sumber
7

Mencoba

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
Yahia
sumber
3

Anda sedang mencari FromBase64Transformkelas, digunakan dengan CryptoStreamkelas.

Jika Anda memiliki string, Anda juga dapat memanggil Convert.FromBase64String.

SLaks
sumber
3

Saya telah menulis metode ekstensi untuk tujuan ini:

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

Sebut saja seperti ini:

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

Saya harap ini membantu seseorang.

Duco
sumber