其他详情:
请解释你的答案:)
(这可能在Math网站上更好,但认为它涉及编程功能)
答案 0 :(得分:3)
german Wikipedia article中的图片非常有用:
您会看到原始字节中的6个连续位生成Base64值。要生成+
或/
(代码62和63),您需要位串111110
和111111
,因此至少设置5个连续位。
但是,请查看0
... 9
:
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
无论你如何连接其中的六个,设置的连续位数不会超过3个。因此,无法以这种方式生成包含+
或/
的Base64字符串,Y将始终为字母数字。
编辑:事实上,您甚至可以将其他Base64值排除在000010
(C
)之外,因此这会带来很好的后续问题/谜题,例如“64个值中有多少是可能吗?“。