![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
возникла заморочка на ровном месте
есть один сервис, куда я отправляю запрос (SOAP) и получаю ответ в виде объекта.
один параметр этого объекта (token) представляет из себя беспорядочный набор байтов
Добавлено @ 17:08 при попытке сохранить этот объект (скидываю в файл, затем распаковываю обратно для просмотра и дальнейшего использования), содержимое свойства изменяется: при попытке свернуть его с помощью serialize, сохраняется только начало, а на каком-то символе происходит обрыв. в результате unserialize уже не способна развернуть объект обратно при попытке свернуть с помощью json_encode всё содержимое превращается в "token":"\u001f" и всё. я так понимаю, это в силу того, что набор содержит байты служебного назначения, которые эти функции не переваривают каким образом можно было бы свернуть объект с полным сохранением данных? Добавлено @ 17:10 видите, даже сюда запостить не могу, набор байтов функциями этого форума не перевариваются. (кстати, найдена уязвимость форума) какой-то байт закончил передачу, в результате чего вторую половину сообщения пришло добавлять (хорошо, я ожидал этого) |
||||
|
|||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
bars80080, самый очевидный выход напрямую работать с бинарными данными, а для их хранения разработать собственный способ, например преобразовать бинарные данные в их строковое представление, что то вида
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
исправлено расползшееся сообщение |
|||
|
||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 4 Всего: 41 |
Бинарная строка? А если свернуть только token ? -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
предлагаешь pack(), unpack(), base64_encode() попробовать? попробуем Добавлено через 44 секунды так он строка и так. смысл его сворачивать? Добавлено через 1 минуту и 20 секунд он же ни капли не измениться? только кавычками по борту обзаведётся |
|||
|
||||
| Чучмек |
|
||||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 4 Всего: 41 |
Еще добавится тип и длинна. При вызове unserialize учитываются только они. Я не о том. Может виновата структура объекта, а не
-------------------- умную мысль держи при себе, а дурной - поделись с другими |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
сам объект прекрасно сворачивается. у меня две версии этого объекта, сейчас переходим от одной ко второй. основные изменения коснулись методов работы, но в данном объекте изменилось только одно - содержимое свойства token. раньше была человеко-читаемая строка, теперь свалка из байтов, хотя всё прочее осталось без изменений.
так что сам объект очень даже себе валидный и способен к пакованию, что serialize, что json_encode. и только значение token теперь не сохраняется |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
сохраняй это поле отдельно от объекта. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
||||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
base64_encode очень хорошо проканал. запаковал без вопросов, а затем распаковал в идентичную запись
всем спасибо |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |