Страница 1 из 1

Правильный encode/decode изображения

Добавлено: 29 дек 2014, 16:41
Sk_games
В приложении необходимо стало сохранять картинку в Преференс и потом потом заново выгружать. Проблема решилось Base64, который некорректно работает и выдает постоянно ошибку: IllegalArgumentException: bad base-64. Проблема в том, что любой пример с интернета завершается этой ошибкой. Кодирую информацию без проблем кодом:

Код: Выделить всё

   ByteArrayOutputStream baos = new ByteArrayOutputStream();
                image_circle.compress(Bitmap.CompressFormat.PNG, 100, baos);
                byte[] b = baos.toByteArray();
                String encoded = Base64.encodeToString(b, Base64.DEFAULT);
А вот уже декодировать не выходит, методом:

Код: Выделить всё

byte[] b = Base64.decode(image, Base64.DEFAULT);
            Bitmap final_image = BitmapFactory.decodeByteArray(b, 0, b.length);
            standart_logo.setImageBitmap(final_image);

Может кто подскажет, что в этих примерах не так?

Re: Правильный encode/decode изображения

Добавлено: 29 дек 2014, 16:59
Sk_games
Разобрался. Извините, что засоряю темы. Кто же знал, пока сам проблему не распишешь, решения не найдешь...)

Re: Правильный encode/decode изображения

Добавлено: 29 дек 2014, 19:27
KamiSempai
Хм. Зачем так изворачиваться? Почему просто не сохранить картинку в виде файла? Так она на много меньше места занимать будет и работать с файлом на много проще.