尝试将字符串编码/解码为 Base64 时出错

2022-01-21 00:00:00 base64 java

我需要从字节数组进行 Base64 编码,而不是另一个字节数组.但是当我将它解码回来时,我得到了异常.这是代码

I need to do Base64 encoding from byte array to stirng as opposed to another byte array. But when I decode it back I get exception. Here is the code

我正在尝试使用 Base64 编码将字节数组编码为字符串.当我编码时,它似乎可以工作,但是当我解码时,它会引发异常.我做错了什么?

I'm trying to encode a byte array into a string using Base64 encoding. When I encode, it seems to work, but when I decode it throws an exception. What am I doing wrong?

import org.springframework.security.crypto.codec.Base64;

byte[] bytes = new byte[]{1,2,3,4,5,6,7,8,9};
String stringToStore = Base64.encode(bytes).toString();
byte[] restoredBytes = Base64.decode(stringToStore.getBytes());

这是我得到的例外:

org.springframework.security.crypto.codec.InvalidBase64CharacterException: Bad Base64 input character decimal 91 in array position 0
at org.springframework.security.crypto.codec.Base64.decode(Base64.java:625)
at org.springframework.security.crypto.codec.Base64.decode(Base64.java:246)

推荐答案

你能不能试试...

byte[] bytes = new byte[]{1,2,3,4,5,6,7,8,9}; 
String stringToStore = new String(Base64.encode(bytes));
byte[] restoredBytes = Base64.decode(stringToStore.getBytes()); 

相关文章