C # Base64 -> baytı dönüştürme []


93

Base64 byte[]Bir akımdan aktarılan bir dizim var ve onu normale byte[]çevirmem gerekiyor bunu nasıl yapabilirim?


"Base64 byte[]" nedir? Hangi kodlamada var?
SLaks

2
kodu buraya koyabilir misin?
Fereydoon Barikzehy

Evet, Base64'ün olduğunu sanmıyorum byte[]. Base64 biçimindeyse, bir dizedir.
vapcguy

Yanıtlar:


168

Sen kullanmak zorunda Convert.FromBase64String bir çevirmek Base64 kodlu stringbir içine byte[].


3
ihtiyacım var byte[] - > byte[] | bu yöntembyte[] -> string
Sudantha

5
Base64 her zaman ascii metnidir. Öyleyse önce yap Encoding.ASCII.GetString(base64arr).
Nyerguds

3
Artık bir Convert.FromBase64CharArray var.
Lee Louviere

41

Bu yardımcı olabilir

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

7

Deneyin

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

FromBase64TransformSınıfta kullanılan sınıfı arıyorsunuz CryptoStream.

Bir dizeniz varsa, ayrıca arayabilirsiniz Convert.FromBase64String.


3

Bu amaçla bir uzatma yöntemi yazdım:

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

Şöyle diyelim:

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

Umarım birine yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.