realivan
Сен. 14, 2016 09:57:35
Добрый день.
Не знаю, может не совсем туда пишу, но вдруг.
Есть сервер на python, который отправляет сериализованный список(list). Надо десериализовать его на c#. Я сделал по документации, но при бинарной десериализации появляется ошибка has invalid char. Вопрос-это вообще возможно сделать?
Спасибо.
py.user.next
Сен. 14, 2016 10:08:44
realivan
Надо десереализовать его на c#.
pickle - внутренний формат питона. Сначала сериализуй данные в другом формате (xml, json).
realivan
Сен. 14, 2016 10:53:25
xml,json
Я так понимаю, что использование pickle даже внутри питон проектов-это не есть хорошая практика, тк мне теперь надо переделывать не только сервер, но два других приложения.
py.user.next
Сен. 14, 2016 11:43:12
realivan
Я так понимаю, что использование pickle даже внутри питон проектов-это не есть хорошая практика
Наружу просто передавать не надо, если там может быть не питон. А так, в питоне лучше pickle формата не найдёшь, так как он быстрый и сериализует всё.
doza_and
Сен. 14, 2016 20:19:18
realivan
Надо десереализовать его на c#
py.user.next
Я сделал по документации
интересно как. Я так понимаю это IronPython?
realivan
Сен. 14, 2016 20:50:52
интересно как. Я так понимаю это IronPython?
Нет, строковое представление объектов - это поток байтов. В с# есть класс BinaryFormatter который сериализует и десериализует объект в двоичном формате. Вот я и предположил, что он может помочь.
doza_and
Сен. 14, 2016 22:13:53
realivan
Вот я и предположил, что он может помочь.
Зря предположили. BinaryFormatter если не вдаваться в подробности может работать только с C# объектами. В других языках (Python C++ Java Pascal…) он абсолютно бесполезен.