Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 14, 2016 09:57:35

realivan
Зарегистрирован: 2015-08-15
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Десериализация pickle

Добрый день.
Не знаю, может не совсем туда пишу, но вдруг.
Есть сервер на python, который отправляет сериализованный список(list). Надо десериализовать его на c#. Я сделал по документации, но при бинарной десериализации появляется ошибка has invalid char. Вопрос-это вообще возможно сделать?
Спасибо.

Отредактировано realivan (Сен. 14, 2016 20:52:30)

Офлайн

#2 Сен. 14, 2016 10:08:44

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9993
Репутация: +  857  -
Профиль   Отправить e-mail  

Десериализация pickle

realivan
Надо десереализовать его на c#.
pickle - внутренний формат питона. Сначала сериализуй данные в другом формате (xml, json).



Офлайн

#3 Сен. 14, 2016 10:53:25

realivan
Зарегистрирован: 2015-08-15
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Десериализация pickle

xml,json
Я так понимаю, что использование pickle даже внутри питон проектов-это не есть хорошая практика, тк мне теперь надо переделывать не только сервер, но два других приложения.

Офлайн

#4 Сен. 14, 2016 11:43:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9993
Репутация: +  857  -
Профиль   Отправить e-mail  

Десериализация pickle

realivan
Я так понимаю, что использование pickle даже внутри питон проектов-это не есть хорошая практика
Наружу просто передавать не надо, если там может быть не питон. А так, в питоне лучше pickle формата не найдёшь, так как он быстрый и сериализует всё.



Отредактировано py.user.next (Сен. 14, 2016 11:44:23)

Офлайн

#5 Сен. 14, 2016 20:19:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Десериализация pickle

realivan
Надо десереализовать его на c#
py.user.next
Я сделал по документации
интересно как. Я так понимаю это IronPython?



Офлайн

#6 Сен. 14, 2016 20:50:52

realivan
Зарегистрирован: 2015-08-15
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Десериализация pickle

интересно как. Я так понимаю это IronPython?
Нет, строковое представление объектов - это поток байтов. В с# есть класс BinaryFormatter который сериализует и десериализует объект в двоичном формате. Вот я и предположил, что он может помочь.

Офлайн

#7 Сен. 14, 2016 22:13:53

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Десериализация pickle

realivan
Вот я и предположил, что он может помочь.
Зря предположили. BinaryFormatter если не вдаваться в подробности может работать только с C# объектами. В других языках (Python C++ Java Pascal…) он абсолютно бесполезен.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version