C # Chuyển đổi một Base64 -> byte []


92

Tôi có một Base64 byte[]mảng được chuyển từ một luồng mà tôi cần chuyển nó thành bình thường, byte[]làm cách nào để thực hiện điều này?


"Base64 byte[]" là gì? Nó ở trong bảng mã nào?
SLaks,

2
bạn có thể đặt mã ở đây?
Fereydoon Barikzehy

Vâng, tôi không nghĩ bạn có Base64 byte[]. Nếu nó ở định dạng Base64, nó là một chuỗi.
vapcguy

Câu trả lời:


166

Bạn phải sử dụng Convert.FromBase64String để biến một Base64 được mã hóa stringthành byte[].


3
tôi cần byte[] - > byte[] | phương pháp này làbyte[] -> string
Sudantha

4
Base64 luôn là văn bản ascii. Vì vậy, chỉ cần làm Encoding.ASCII.GetString(base64arr)trước.
Nyerguds

3
Hiện có một Convert.FromBase64CharArray.
Lee Louviere

41

Điều này có thể hữu ích

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

7

Thử

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

Bạn đang tìm kiếm FromBase64Transformlớp học, được sử dụng với CryptoStreamlớp học.

Nếu bạn có một chuỗi, bạn cũng có thể gọi Convert.FromBase64String.


3

Tôi đã viết một phương thức mở rộng cho mục đích này:

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

Gọi nó như thế này:

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

Tôi hi vọng nó giúp ích cho ai đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.