所以我很困惑。我知道有很多用于JS的Base64编码器/解码器,但是对于修改后的(以及受Facebook支持的)Base64URL变体却不是。到目前为止,对stackoverflow的搜索已经干dry了。
是的,我可以使用PHP或其他服务器端库对此进行解码,但是无论使用什么平台,我都试图保持这种通用性……例如,如果我要托管仅HTML的Facebook应用在Amazon S3/CloudFront上运行,并且仅使用其JS SDK和jQuery来处理表单和获取数据。
就是说,有人知道JavaScript的特定于Base64URL的解码器吗?
提前致谢!
最佳答案
在解码之前使用它:
var decode = function(input) {
// Replace non-url compatible chars with base64 standard chars
input = input
.replace(/-/g, '+')
.replace(/_/g, '/');
// Pad out with standard base64 required padding characters
var pad = input.length % 4;
if(pad) {
if(pad === 1) {
throw new Error('InvalidLengthError: Input base64url string is the wrong length to determine padding');
}
input += new Array(5-pad).join('=');
}
return input;
}
使用此功能后,您可以使用任何base64解码器
关于javascript - 通过JavaScript进行Base64URL解码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5234581/