我可以期望在python中长度为10的base64encoded字符串有多长的最大长度? 我需要在我的数据库中指定它。
答案 0 :(得分:1)
每个base64字符编码6位。如果您的原始字符串是80位(10 * 8),80/6 = ~13.3,那么您需要14个字符来表示所有80位,再加上两个填充字符。
base64字符串必须具有4的倍数,因为每4个字符映射到3个字节。 '='字符用作填充。
编辑:为清楚起见,14 + 2 = 16
答案 1 :(得分:0)
您可以使用以下正则表达式检查字符串是否为base64编码:
^([A-ZA-Z0-9 + /] {4})*([A-ZA-Z0-9 + /] {4} | [A-ZA-Z0-9 + /] {3- } = | [A-ZA-Z0-9 + / {2} ==)$ 在base64编码中,字符集是[A-Z,a-z,0-9和+ /]。如果剩余长度小于4,则用' ='填充字符串。字符。
^([A-Za-z0-9 + /] {4})*表示字符串以0或更多base64组开头。
([A-ZA-Z0-9 + /] {4} | [A-ZA-Z0-9 + /] {3} = | [A-ZA-Z0-9 + / {2} = =)$表示字符串以三种形式之一结束:[A-Za-z0-9 + /] {4},[A-Za-z0-9 + /] {3} =或[A-Za-z0 -9 + / {2} ==。