我当前正在尝试解码我的base64编码的字符串。我面临的问题是它给了我垃圾解码结果,但是当我从前面删除77u_时,解码结果会变好。我的问题是,还有其他解码方法吗?
以下是我的编码字符串:
77u_RGF0ZSxUeXBlLENvbmZpcm1hdGlvbiBDb2RlLFN0YXJ0IERhdGUsTmlnaHRzLEd1ZXN0LExpc3RpbmcsRGV0YWlscyxSZWZlcmVuY2UsQ3VycmVuY3ksQW1vdW50LFBhaWQgT3V0LEhvc3QgRmVlLENsZWFuaW5nIEZlZSxHcm9zcyBFYXJuaW5ncyxPY2N1cGFuY3kgVGF4ZXMNCjEwLzMwLzIwMTgsUmVzZXJ2YXRpb24sSE05U1BUOUNYQywxMC8yOS8yMDE4LDMsQWFyb24gSmFibG9uc2tpLEVsZWdhbnQgUHJpdmF0ZSBSb29tIGluIGEgTW9kZXJuIEx1eHVyeSBCdW5nYWxvdywsLFVTRCwxNDUuNTAsLDQuNTAsMzAuMDAsMTUwLjAwLDIxLjANCjEwLzI2LzIwMTgsUmVzZXJ2YXRpb24sSE0zM0gyWEU0SiwxMC8yNS8yMDE4LDMsWWIgQmFiaWUsRWxlZ2FudCBQcml2YXRlIFJvb20gaW4gYSBNb2Rlcm4gTHV4dXJ5IEJ1bmdhbG93LCwsVVNELDE3NC42MCwsNS40MCwzMC4wMCwxODAuMDAsMjUuMg0KMTAvMjIvMjAxOCxSZXNlcnZhdGlvbixITVdSRk1KNU1LLDEwLzIxLzIwMTgsNCxHYWJyaWVsbGEgRGFsdG9uLEVsZWdhbnQgUHJpdmF0ZSBSb29tIGluIGEgTW9kZXJuIEx1eHVyeSBCdW5nYWxvdywsLFVTRCwxNjQuOTAsLDUuMTAsMzAuMDAsMTcwLjAwLDIzLjgNCjEwLzE4LzIwMTgsUmVzZXJ2YXRpb24sSE1NUFk4UDJRRiwxMC8xNy8yMDE4LDQsUMOpdGVyIFZhcmdhLEVsZWdhbnQgUHJpdmF0ZSBSb29tIGluIGEgTW9kZXJuIEx1eHVyeSBCdW5nYWxvdywsLFVTRCwyMjMuMTAsLDYuOTAsMzAuMDAsMjMwLjAwLDMyLjINCjEwLzE2LzIwMTgsUmVzZXJ2YXRpb24sSE1KODVDTTNCWiwxMC8xNS8yMDE4LDIsR3JlZ29yIFNwcmljayxFbGVnYW50IFByaXZhdGUgUm9vbSBpbiBhIE1vZGVybiBMdXh1cnkgQnVuZ2Fsb3csLCxVU0QsODcuMzAsLDIuNzAsMzAuMDAsOTAuMDAsMTIuNg0KMTAvMTMvMjAxOCxSZXNlcnZhdGlvbixITVFOU1BRQUpYLDEwLzEyLzIwMTgsMyxBbWJlciBEdWNrc3dvcnRoLEVsZWdhbnQgUHJpdmF0ZSBSb29tIGluIGEgTW9kZXJuIEx1eHVyeSBCdW5nYWxvdywsLFVTRCwxNDUuNTAsLDQuNTAsMzAuMDAsMTUwLjAwLDIxLjANCjEwLzEyLzIwMTgsUmVzZXJ2YXRpb24sSE1UQlFCREFFMiwxMC8xMS8yMDE4LDIsR29yZG9uIEJsZWVjaG1vcmUsRWxlZ2FudCBQcml2YXRlIFJvb20gaW4gYSBNb2Rlcm4gTHV4dXJ5IEJ1bmdhbG93LCwsVVNELDU4LjIwLCwwLjk4LDAuMDAsNTkuMTgsOC40DQoxMC8xMi8yMDE4LFJlc2VydmF0aW9uLEhNWEZEVzlNRkosMTAvMTEvMjAxOCwxLEhhbXphIE5zb3VyLEVsZWdhbnQgUHJpdmF0ZSBSb29tIGluIGEgTW9kZXJuIEx1eHVyeSBCdW5nYWxvdywsLFVTRCw1My4zNSwsMS42NSwzMC4wMCw1NS4wMCw3LjcNCjEwLzEwLzIwMTgsUmVzZXJ2YXRpb24sSE1XWDVQQ0hBUSwxMC8wOS8yMDE4LDIsTGVhaCBXLEVsZWdhbnQgUHJpdmF0ZSBSb29tIGluIGEgTW9kZXJuIEx1eHVyeSBCdW5nYWxvdywsLFVTRCw4Ny4zMCwsMi43MCwzMC4wMCw5MC4wMCwxMi42DQoxMC8wNC8yMDE4LFJlc2VydmF0aW9uLEhNQzNGTk04RFcsMTAvMDMvMjAxOCw2LFNhbmRybyBDemVrYWksRWxlZ2FudCBQcml2YXRlIFJvb20gaW4gYSBNb2Rlcm4gTHV4dXJ5IEJ1bmdhbG93LCwsVVNELDM3OC4zMCwsMTEuNzAsMzAuMDAsMzkwLjAwLDU0LjYNCjEwLzAxLzIwMTgsUmVzZXJ2YXRpb24sSE1UUzk0Uk1FMywwOS8zMC8yMDE4LDMsQnJhbmRlbiBIaWNrcyxFbGVnYW50IFByaXZhdGUgUm9vbSBpbiBhIE1vZGVybiBMdXh1cnkgQnVuZ2Fsb3csLCxVU0QsMTE2LjQwLCwzLjYwLDMwLjAwLDEyMC4wMCwxNi44DQo
答案 0 :(得分:1)
是_
弄乱了结果。 base64 编码都很好。 base64 code table不包含_
,它是 base64url 编码的/
的替换字符。
将_
替换为/
时,解码工作正常。
当我在https://www.base64decode.org/上对其进行测试并选择ASCII作为源字符集时,我在文本前面输入了
,它是UTF-8的byte order mark。当我更改为utf-8时,文本前面没有可见的内容。
在node.js中进行的简短测试还证明'77u /'确实是BOM的base64代码:
var messageB64 ='77u/'
var buf = Buffer.from(messageB64, 'base64');
console.log(buf) // output: <Buffer ef bb bf>
结论:
您的数据已 base64url 解码
在解码之前,应将其更改回 base64 代码
多余的字符是无害的字节顺序标记,如果您使用utf-8编码,则这些字符不可见。