python中长度为10的base64encode字符串的最大长度是多少?

时间:2017-08-21 07:12:18

标签: python-2.7

我可以期望在python中长度为10的base64encoded字符串有多长的最大长度? 我需要在我的数据库中指定它。

2 个答案:

答案 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} ==。