Base64 解码decode遇到IllegalArgumentException: Illegal base64 character 20


base64字符串内容:eyJjb2RlIjoxMDAwMDAsImRhdGEiOnsiZGF0YSI6eyJydWxlIjp7ImRhZXhpbmtlcnVsZSI6IjAu MTAwMTAwMCIsImxhb2tlcnVsZSI6IjAuMDAiLCJyZWplY3RfcnVsZTFfYXQyMDE5MTEiOjAsInVw Z3JhZGVfcnVsZTFfYXQyMDE5MTEiOjAsInVwZ3JhZGVfcnVsZTJfYXQyMDE5MTEiOjAsInVwZ3Jh ZGVfcnVsZTNfYXQyMDE5MTEiOjAsInVwZ3JhZGVydWxlIjowfSwic2NvcmUiOnsibW9kZWxfdmVy IjoidmVyXzIwMTlfMTFfMjkiLCJxdWVyeV90aW1lIjoiLTEiLCJzY29yZTEiOi05OS4wLCJzY29y ZTIiOi05OS4wLCJzY29yZTMiOi05OS4wLCJzY29yZTQiOi05OS4wLCJzY29yZTUiOi05OS4wLCJz Y29yZTYiOi05OS4wLCJzY29yZTciOi05OS4wLCJzY29yZTgiOi05OS4wfX0sImhvc3RuYW1lIjoi YjYzMjEwOTlhNDMxIiwicXVlcnlUaW1lIjoiMjAyMC0wMi0xMCAxMjozNTo1NC45NzYzMTYiLCJy ZXNwX2NvZGUiOiIxIiwicmVzcF9kZXNjIjoiXHU2N2U1XHU4YmUyXHU2MjEwXHU1MjlmIiwic2l0 ZV92ZXIiOiJ6aG9uZ2JhbmdfMjAyMF8wMV8xMyJ9LCJtZXNzYWdlIjoic3VjY2VzcyJ9Cg==

发现base64内容都有空格,替换掉空格之后就好了

String res = "eyJjb2RlIjoxMDAwMDAsImRhdGEiOnsiZGF0YSI6eyJydWxlIjp7ImRhZXhpbmtlcnVsZSI6IjAu MTAwMTAwMCIsImxhb2tlcnVsZSI6IjAuMDAiLCJyZWplY3RfcnVsZTFfYXQyMDE5MTEiOjAsInVw Z3JhZGVfcnVsZTFfYXQyMDE5MTEiOjAsInVwZ3JhZGVfcnVsZTJfYXQyMDE5MTEiOjAsInVwZ3Jh ZGVfcnVsZTNfYXQyMDE5MTEiOjAsInVwZ3JhZGVydWxlIjowfSwic2NvcmUiOnsibW9kZWxfdmVy IjoidmVyXzIwMTlfMTFfMjkiLCJxdWVyeV90aW1lIjoiLTEiLCJzY29yZTEiOi05OS4wLCJzY29y ZTIiOi05OS4wLCJzY29yZTMiOi05OS4wLCJzY29yZTQiOi05OS4wLCJzY29yZTUiOi05OS4wLCJz Y29yZTYiOi05OS4wLCJzY29yZTciOi05OS4wLCJzY29yZTgiOi05OS4wfX0sImhvc3RuYW1lIjoi YjYzMjEwOTlhNDMxIiwicXVlcnlUaW1lIjoiMjAyMC0wMi0xMCAxMjozNTo1NC45NzYzMTYiLCJy ZXNwX2NvZGUiOiIxIiwicmVzcF9kZXNjIjoiXHU2N2U1XHU4YmUyXHU2MjEwXHU1MjlmIiwic2l0 ZV92ZXIiOiJ6aG9uZ2JhbmdfMjAyMF8wMV8xMyJ9LCJtZXNzYWdlIjoic3VjY2VzcyJ9Cg==";

        System.out.println(new String(Base64.getDecoder().decode(res.replaceAll(" ", "")), "UTF-8"));

 

正确的做法是编码的时候就要把空格去除。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM