base64 декодирует строку и кодирует все потерянные специальные символы - PullRequest
0 голосов
/ 05 мая 2018

У меня есть класс Java, который я конвертирую в строку, используя GSON. Отправьте эту строку в кодировке base64 (по какой-то причине не пойдем туда :)) Когда я ее декодирую обратно, я теряю все символы {и "" в json.

Например: {"name": "ABC"} декодированный и закодированный обратно становится nameABC

Я хочу вернуть мои старые данные, т.е. я хочу {"name:" ABC "} назад

String json = "{\"name\":\"ABC\"}";
byte en[] = android.util.Base64.decode(json,Base64.NO_WRAP);
String st = android.util.Base64.encodeToString(en,Base64.NO_WRAP);

Что-то простое, как указано выше, содержимое потеряно

Пожалуйста, помогите

1 Ответ

0 голосов
/ 05 мая 2018

Вы не можете Base64 установить 64 символа, которые можно преобразовать в двоичный код и наоборот, такие символы, как {и ", отсутствуют в наборе из 64 символов, проверьте this

Попробуйте использовать URLDecoder с UTF-8 или любым другим методом кодирования, который поддерживает UTF-8

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