Просмотр полной версии : Как засунуть строковое представление картинки в XML
artfabrique
24.05.2008, 02:01
идея такая:
Есть много клиентские приложений(AIR)
они качают XMLку с главного сервака.
В XML описаны разнве типы данных (текст,картинки,вектор,файлы) дабы создать некий "пакадж" - все в одном файле.
Вопрос встал такой:
Как картинку представить в текстовом виде, типа как в емэйле base64 кодирование для всего.
Я думаю как то нада смотреть в сторону ByteArray но хотелось бы поподробнее разузнать какие камни меня ждут и как лучше это сделать.
Например base64 почти в 2 раза обьем увеличивает =( - это антимаза конечно. Некоторые данные замечательно паковаться будут поэтому я бы хотел ещё zip'ом по ним пробегаться (благо нашел архиватор типа zlib на AS3)
BlooDHounD
24.05.2008, 10:57
а зачем искать архиватор "типа zlib на AS3", если zlib встроен в плэйер? и ещё ... всё, что вы написали это обычный swf. вам будет достаточно использовать его. а главное удобно редактировать.
artfabrique
25.05.2008, 20:21
в смысле? не.. задача в том чтобы генерить XML в котором вставлен код файлов разного типа, архивы, исполняемые файлы, да что угодно. вот. и в данном случае вопрос стоит как прочитать и записать в XML узел содержание файла(в данном случае картинки) корректно.
BlooDHounD
25.05.2008, 20:32
повторю свою мысль: зачем? 1. в текстовом виде картинка будет весить в 2 раза больше. 2. в СВФ можно запихнуть всё что угодно, это будет парсится быстре и не нужно будет создавать кучу лоадеров.
artfabrique
25.05.2008, 21:58
да я понимаю, что лучше в swf. только как я swf на сервере средствами .net буду разбирать?Будет использована реляционная БД чтобы в неё сразу обьекты пихать. И соответственно из флэша оч удобно передавать уже готовый обьект в С#.
Можно конечно спецификации swf проштудировать (кстати где?) но боюсь мы по таймингам не уложимся по проекту.
artfabrique
25.05.2008, 22:00
и ваще попахивает "бунтом машин" - роботы делают роботов, swf делает swf =))
BlooDHounD
26.05.2008, 00:03
ну тогда придумайте свой формат бинарных данных. зачем вам дался этот XML ? это ж прошлый век. я в работе XML использую только там, где его руками править: конфиг-файлы и т.д.
artfabrique
26.05.2008, 10:01
ну вообщето у ASP.NET (C#) любой обьект у вэбсервиса при выводе имеет XML представление. А про спецификации SWF не подскажите?
Ну или как же всетаки в текстовый вид приводить бинарные данные кроме base64? =)
BlooDHounD
26.05.2008, 10:58
1. http://www.google.ru/search?q=спецификация+SWF
2. запишите каждыйй байт как 2 символа в Hex виде.
artfabrique
26.05.2008, 16:27
вот вот!!!
я ща загрузил наример картинку через URLLoader с БИНАРИ параметром.
потом в while пробегаюсь по байтам readByte()
НО! почему то он мне возвращает sined (знаковое) представление байта и после перевода в хекс toString(16) у меня на выходе например "-1F" итд.. чет тут не чисто =) не подскажете что?
сам же сказал base64, зачем своими ручками то перебирать все? ))
BlooDHounD
26.05.2008, 16:51
ну а прочитать его беззнакого?
artfabrique
26.05.2008, 19:12
=)))) точняк ступил =) всем пасиба.
кстати нельзя засунуть в условие цикла while хождение по байтам (readByte()) т.к. если будет нульбайт, то цикл прервется. Это я просто мало ли кто ещё читать будет.
BlooDHounD
26.05.2008, 23:11
for (var i:uint=0; i<bytes.length; i++) {
bytes[i]
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.