Java Сериализация с базой 64 - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь отправить объекты в разные части среды, используя кодировку 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();
    }
}

1 Ответ

0 голосов
/ 12 марта 2020

Я нашел ответ, он был в коде, который декодировал объект - он не только получал закодированные объекты, но и обычные объекты xx После установки проверки мой код работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...