Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt4] QFile + QByteArray 
:(
    Опции темы
fearuth
Дата 23.8.2009, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.9.2008

Репутация: нет
Всего: 1



Привет Всем! Есть такая проблема:
Нужно преобразовать рисунок в текст (при помощи Base64), записать его в файл (получившийся текст), а потом обратно считать текст из файла и сделать обратное преобразование его в рисунок:

Код

QFile origin("./test.jpg"),text("./test.txt"),vost("./vost.jpg");
QTextStream txts(&text);
QDataStream rec(&vost);
QByteArray img_or,img_vost;

//Чтение рисунка
if(!origin.open(QIODevice::ReadOnly)) renturn;
img_or=origin.readAll();
origin.close();

//Запись текста
if(!text.open(QIODevice::WriteOnly)) renturn;
txts<<img_or.toBase64();
text.close();

img_vost=img_or.toBase64();

//Запись восстановленного изображения в файл
if(!vost.open(QIODevice::WriteOnly)) renturn;
rec<<QByteArray::fromBase64(img_vost);
vost.close();



Код облегчил, без повторного чтения из файла (с текстом base64). Но почему-то первые 3 байта не соответствуют оригиналу... =( Что делать?
PM MAIL   Вверх
Cheloveck
Дата 23.8.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



сейчас угадаю, первые три байта EF BB BF. Это заголовок UTF-8 файла. Нужно сохранять без него. Или не читать его.


--------------------
user posted image
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0726 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.