iOS 上的 Base64 编码最后缺少填充

Base64 encoding on iOS missing padding at the end

我需要将身份验证 header 发送到服务器。服务器正在使用基本身份验证,因此需要 "Authentication: Basic encodedUser:Pass"。我在 Whosebug 上找到了如何将字符串编码和解码为 Base64:

NSData *plainData = [plainString dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainData base64EncodedStringWithOptions:0];
NSLog(@"%@", base64String);

如果我用它编码 "test:test" returns:dGVzdDp0ZXN0

问题是我的服务器期望收到:dGVzdDp0ZXN0DQo=

我编码的方式有什么问题?最后的DQo=是padding?我如何获得该填充?!

谢谢!

dGVzdDp0ZXN0DQo= is "test:test\r\n"

您的输入缺少回车 return/line 提要。

您可以通过 google 轻松地在网络上找到 base64 解码器。例如

www.base64decode.org