为什么使用 Convert.FromBase64String(...) 将字符串转换为 byte[] 时,我不能放置两个相同的字符?



为什么使用Convert.FromBase64String(…(将字符串转换为byte[]时,我不能放两个相同的字符?

例如,我有

class User
{
public string Login { get; set; }
public byte[] Password { get; set; }
}
class Program
{
static void Main(string[] args)
{
var login = Console.ReadLine();
var password = Console.ReadLine();
var bytePass = Convert.FromBase64String(password);
var user = new User() { Login = login, Password = bytePass };
}
}

当我把带有两个相同字符的字符串作为密码(例如"testt"(时,它会抛出异常

System.FormatException:"输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符。">

如果我想将多个相同字符的字符串转换为byte[],该怎么办?这可能吗?

字符串testt不是Base64编码的字符串。Base64字符串的长度必须是四的倍数。

要将常规字符串转换为字节序列,请使用Encoding.GetBytes方法。

相关内容

最新更新