擅长:python、mysql、java
<p>在这种情况下,它的用法是“好的”。在</p>
<p>您认为base64decode函数将“==”后面的字符串截断的假设在某种程度上是正确的,因为base64decoder将其解释为base64字符串的结尾。在</p>
<p>重要的是要知道“=”字符是如何工作的,它更像是base64编码中的一个特殊字符,并且没有相应的字符来编码它。在</p>
<p>只是给你一个简短的概述,而不是深入到这个主题:</p>
<p>如果base64encode函数获取一个字符串作为输入以生成base64编码的字符串,则输入字符串的长度必须除以3。
如果不是这样,base64将自动在base64编码字符串的末尾添加填充字符“=”,以告诉base64decoder函数需要多少字节才能将输入字符串填充为可除以3的字符串,并且他可以将字符串正确解码回原始字符串。在</p>
<p>所以在您的情况下,base64decoder在字符串“ibfigacaiaaaa==”中看到“=”字符,并可能将其解释为base64字符串的结尾。在</p>
<p><strong>结论</strong>:</p>
<p>如果base64字符串不是3的倍数,并且不编码任何字符,则会看到“=”字符始终位于该字符串的末尾。在</p>