Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Десериализация из php сериализации


Автор: admsasha 3.2.2008, 15:36


существует сериализированный текст.

например
Код

a:1:{s:9:"AdmSasha";a:20:{i:0;s:32:"644ba147035ed67e75345e72bed2c533";i:1;i:120
2041518;s:4:"join";i:1202041518;s:8:"msgcount";i:0;s:3:"say";i:1202041518;s:4:"l
ive";i:1202041519;s:4:"auth";i:0;s:5:"admin";i:0;s:4:"addr";s:14:"192.168.128.75
";s:4:"host";s:14:"192.168.128.75";s:2:"br";s:89:"Mozilla/5.0 (Lindows; U; Lindo
ws 8.7; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11";s:6:"brcode";s:13:"
aJNK5AYPUHi45";s:6:"status";i:0;s:9:"my_status";b:0;s:7:"usernum";i:64451;s:3:"s
ex";i:0;s:4:"skin";s:3:"def";s:8:"nickhtml";s:0:"";s:7:"nickcss";s:10:"||||||||0
|";s:6:"ignore";a:0:{}}}


в perl я десериализирую через 
Код

use PHP::Serialization qw(unserialize serialize);



Может кто сталкивался, есть ли готовая альтернатива для C++ ?

Автор: archimed7592 3.2.2008, 15:58
Цитата(admsasha @  3.2.2008,  15:36 Найти цитируемый пост)
есть ли готовая альтернатива для C++ ? 

Есть: boost::serialization, но совместить одну сериализацию с другой боюсь, что не получится.

Добавлено через 30 секунд
Точнее говоря, это будет не так то просто smile.

Автор: admsasha 3.2.2008, 16:02
Цитата(archimed7592 @  3.2.2008,  22:58 Найти цитируемый пост)
Есть: boost::serialization, но совместить одну сериализацию с другой боюсь, что не получится.

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

Автор: Ulysses4j 3.2.2008, 19:33
Бинарные форматы хранения информации очень плохо переносимы — между языками программирования, в частности. По этой причине придумали XML!

Автор: Void 3.2.2008, 19:42
Цитата(Ulysses4j @  3.2.2008,  21:33 Найти цитируемый пост)
Бинарные форматы хранения информации очень плохо переносимы — между языками программирования, в частности. По этой причине придумали XML! 

И где здесь бинарный формат? smile
Текстовый, элементарно разбираемый. Весьма похожий на JSON, но, к сожалению, не JSON.

Автор: Mayk 3.2.2008, 19:46
хмм, если есть php-шная библиотека для си(а она наверняка есть), то в ней наверняка есть ф-ции для десериализации.

Автор: archimed7592 3.2.2008, 20:20
Цитата(admsasha @  3.2.2008,  16:02 Найти цитируемый пост)
нужно получить десериализацию именно по исходным данным.... 

Тогда
1. либо, как уже сказали, найти готовую библиотеку умеющую десериализовывать PHP'шную,
2. либо реализовать свой архив(boost предоставляет binary_archive, text_archive и xml_archive), совместимый с PHP'шным

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)