Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.07.2007, 18:29
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 1  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
По умолчанию ByteArray > compress toString > decompress ??? (или обратимость сжатия через строку)

каким образом это можно реализовать обратимость сжатия? я пробовал так:

Код:
var b:ByteArray = new ByteArray();
b.writeUTF("hello world");
b.compress();
var s:String = b.toString();
b.length = 0;
b.writeUTF(s);
b.uncompress(); // ошибка


Последний раз редактировалось neelts; 29.07.2007 в 18:37.
Старый 29.07.2007, 18:53
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 2  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Код:
var b:ByteArray = new ByteArray();
b.writeUTFBytes("hello world");
b.compress();
trace(b.length);
b.uncompress();
trace(b.length);
trace(b.readUTFBytes(b.length));

Старый 29.07.2007, 19:06
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 3  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
lowka, этото понятно, а как через строку то?
скажем мне нужно отправить сжатую строку на сервер, и её же получить и расжать.

Старый 29.07.2007, 22:17
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А что, сервер выдает данные в бинарном виде, которые можно загрузить через URLLoader или URLStream и распаковать. А потом прочитывать UTF8.

Старый 29.07.2007, 22:41
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 5  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
да, это я видел в связке AS3 + AMFPHP

идем дальше: что если данные сжимаются на стороне сервера, скажем с помощью gzcompress ?

результаты сжатия с ByteArray.compress почему то отличаются..

пример сжатия "hello world"

flash: xÚcàÎHÍÉÉW(Ï/ÊI

php: xÚËHÍÉÉW(Ï/ÊI

! не все символы отображаются



существует ли решение этой проблемы?


Последний раз редактировалось neelts; 29.07.2007 в 22:48.
Старый 29.07.2007, 23:01
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 6  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
ыы, посравнивал тут коды символов сжатия, закономерность есть)

вообщем сжать в пхп и распаковать во флеше реально! )
поизучаю еще, если получится написать конвертер, сообщу немедленно

Старый 29.07.2007, 23:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Для начала надо перестать просматривать подобным образом контент.

Старый 29.07.2007, 23:57
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 8  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
я имел ввиду hex коды.

короче схожесть с увеличением строк куда то пропадает, возможно как то не так конвертирую символы.

ведь аналог charCodeAt в php далеко не ord ?

Старый 30.07.2007, 00:49
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 9  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
отлично, со схожестью почти разобрался, оказывается надо использовать writeMultiByte c подходящей кодировкой

Старый 30.07.2007, 01:15
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 10  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
урааа)

и так, решение (не думал что всё так просто):

PHP:
Код:
<?php

$s = "lorem ipsum";
$z = gzcompress($s, 9);
echo $z;

?>
AS3:
Код:
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://localhost/test.php");
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.load(request);

function completeHandler(e:Event) {
	var b:ByteArray = loader.data;
	b.uncompress();
	trace(b.toString()); // lorem ipsum
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.