Base64字符串的最大字符数是多少?

4

我有一个正则表达式来验证字符串是否为Base64字符串。 我还检查Base64字符串的最小长度是否为4个字符, 但是Base64字符串的最大字符长度是多少呢?

我创建了一个正则表达式,并添加了最小属性和验证。

public class EndpointAddRequest : RequestBase
{
    [MinLength(4, ErrorMessage = "The number of characters is less than the minimum amount")]
    [RegularExpression(RegexConstants.Base64String, ErrorMessage = "Invalid AccessDevice Uid")]
    [Required(ErrorMessage = "AccessDevice uid is required")]
 }

https://dev59.com/RmvXa4cB1Zd3GeqPImIM - mariusd96
4
Base64本身没有限制。 - Progman
谢谢,我已经在找了,但是找不到任何东西。 - Quent Wizle
1
@DulauMariusCristian 这是针对 Azure 的特定情况,不适用于此处。 - user47589
1
这取决于base64的存储方式。如果它是以字符串形式存储的,最大长度在此问题中讨论:https://dev59.com/9HVC5IYBdhLWcg3w7V73 - R Pelzer
可能是Base64长度计算的重复问题? - Derviş Kayımbaşıoğlu
2个回答

2
据我所知,没有最大长度限制。您可以在此处查看规范。

2

没有最大值。最小值来自于Base64将3个输入字节编码为4个输出字节以及必要时加填充的事实。但是,编码的字符数没有任何限制,因为 任何 字节流(无论长度如何)都是有效的并且会产生任意长的base64输出。

实际限制是可用存储空间(内存/磁盘/其他),但编码本身不会有任何限制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接