![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 6
|
Поставлена задача:
1) перевести String в ByteArray; 2) применить к ByteArray компрессию deflate(); 3) перевести ByteArray в String и записать в файл (методом копи паст с трейса); 4) загрузить текстовый файл перевести String в ByteArray; 5) применить к ByteArray декомпрессию inflate(); 6) перевести ByteArray в String и вывести String. Для начала решила попробовать без записи в файл делала так: var date0:ByteArray = new ByteArray(); var str0:String = "Test convert String to ByteArray" date0.writeObject(str0); trace(date0, date0.length) date0.deflate(); trace(date0, date0.length) date0.position = 0; var str1:String = date0.readUTFBytes(date0.length); var date1:ByteArray = new ByteArray(); date1.writeObject(str1); trace(date1, date1.length) date1.inflate(); // Error: Error #2058: Ошибка при распаковке данных. trace(date1, date1.length) var str2:String = date1.readUTFBytes(date1.length); trace(str2); Возможно подход изначально не верный подскажите правильное решение. Последний раз редактировалось Alexsandra; 28.04.2009 в 19:39. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
При раскодировании данных, упакованных в формат, использующий алгоритм сжатия DEFLATE (например, формат gzip или zip), вызов метода inflate() не сработает для объекта ByteArray, содержащего метаданные. Сначала необходимо отделить метаданные, которые входят в состав упакованного формата данных, от самих сжатых данных. Дополнительную информацию см. в описании метода deflate().
|
|
|||||
|
стервочка (я мужик)
|
1. для записи строк используются методы writeUTF и writeUTFByte, а не writeObject.
2. после сжатия данные скорее всего как строка и не запишутся, так как могут присутствовать нулевые байты, а в мире это означает конец строки. 3. что Вы там распаковываете вообще не ясно. |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 6
|
Тему можно закрывать вопрос решен.
На AIR написала все тоже самое только не перегоняла ByteArray в String вот тут Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Alexsandra, это совсем разные методы записи.
|
|
|||||
|
Регистрация: Apr 2009
Сообщений: 6
|
etc, я не спорю, но это действительно не принципиально в данном случаем, более того у адобовцев с текстом и xml такая же запись через writeObject.
|
|
|||||
|
стервочка (я мужик)
|
где у них такая запись?
|
|
|||||
|
Регистрация: Apr 2009
Сообщений: 6
|
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Да, вот только там целый XML пишут, а не String.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|