Я пытаюсь отправить объекты в разные части среды, используя кодировку base64, но получаю ошибку «Недопустимый символ base64 b7».
Код кодирования:
public static String serialize(Serializable object) throws IOException {
try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(SIZE);
ObjectOutputStream outputStream = new ObjectOutputStream(byteArrayOutputStream)) {
outputStream.writeObject(object);
return Base64.getEncoder().encodeToString(byteArrayOutputStream.toByteArray());
}
}
Код декодирования:
public static Serializable deserialize(String base64String) throws ClassNotFoundException, IOException {
byte[] decoded = Base64.getDecoder().decode(base64String);
try (ObjectInputStream inputStream = new ObjectInputStream(new ByteArrayInputStream(decoded))) {
return (Serializable) inputStream.readObject();
}
}