首页 > 解决方案 > 如何在 base 64 和 base64url 编码之间进行选择

问题描述

我必须通过网络发送数据。哪种编码更好用

Base64 还是 Base64URL ?

标签: javaencodingurlencode

解决方案


两者都使用字母数字字符来表示 Base-64 编码所需的 64 (65) 个字符中的 62 个。

标准 Base64使用+and/作为最后 2 个字符,并=用于填充。

Base64Url使用-and_作为最后 2 个字符,并使填充可选。

所以你有一个选择:

  • 如果 Base64 编码的文本需要在哪里传输/保存+/或者=具有特殊含义,例如在所有 3 都需要的 URL 中,那么最好使用Base64Url

  • 如果 Base64 编码的文本需要传输/保存在哪里-_有特殊含义,那么最好使用Standard Base64

  • 如果 5 个字符都没有特殊含义,那么您可以选择任何您想要的,但您应该使用Standard Base64,因为它是……标准,使用标准是更好的选择。

请注意,定义的变体比这两个更多。有关详细信息,请参见例如Wikipedia


推荐阅读