C # 转换 Base64-> byte []

我有一个 Base64 byte[]数组,这是从一个流,我需要转换为一个正常的 byte[]如何做到这一点?

194452 次浏览

您正在寻找与 CryptoStream类一起使用的 FromBase64Transform类。

如果有字符串,也可以调用 Convert.FromBase64String

您必须使用 Convert.FromBase64String基地64编码的 string转换为 byte[]

试试看

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

这可能会有帮助

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

我为此编写了一个扩展方法:

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

这么说吧:

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

I hope it helps someone.