Skip to main content

Appendix A. Notes on Implementing Base64url Encoding without Padding (关于实现不带填充的 Base64url 编码的注意事项)

本附录描述了如何基于使用填充的标准 base64 编码函数实现不带填充的 base64url 编码函数.

具体来说, 下面显示了实现这些函数的示例 C# 代码. 类似的代码可以用于其他语言.

static string base64urlencode(byte [] arg)
{
string s = Convert.ToBase64String(arg); // Regular base64 encoder
s = s.Split('=')[0]; // Remove any trailing '='s
s = s.Replace('+', '-'); // 62nd char of encoding
s = s.Replace('/', '_'); // 63rd char of encoding
return s;
}

以下是未编码和编码值之间的对应示例. 下面的八位字节序列编码为下面的字符串, 解码时, 重现该八位字节序列.

3 236 255 224 193
A-z_4ME