Наиболее распространенной сериализацией между конечными точками Python является формат pickle (в Python 2.any обязательно используйте модуль cPickle
и протокол -1
aka pickle.HIGHEST_PROTOCOL
; если вам нужна совместимость между Python 2. любой и Python 3. любой нужно больше заботиться). Для особо простых объектов модуль marshal
иногда может быть быстрее и компактнее. Для взаимодействия с конечными точками, отличными от Python, json
может быть наилучшим (или вы можете использовать xml
для определения или принятия других существующих форматов сериализации), но они, вероятно, будут более объемными и медленными для форматирования и анализа.
Насколько я знаю, единственный способ питона
реализует сокеты через текст.
Нет, все строки байтов приветствуются! -) Вас может смущать тот факт, что в Python 2 «нормальная строка» на самом деле представляет собой строку байтов («text» будет типом unicode
); Python 3 исправляет ситуацию и использует Unicode для «обычных строк» и определенный тип байтовых строк для строк байтов.
Строки байтов - это общий способ, которым любой язык будет выполнять любую форму сериализации и десериализации в соответствии с тем или иным протоколом - такие байтовые потоки или большие двоичные объекты могут передаваться в сети, базы данных, простые файлы и т. Д. И т. Д. конечно.
Twisted предлагает свой собственный формат сериализации, как часть twisted.spread - он в основном предназначен для использования с Perspective Broker (PB), но вы можете использовать его для своих собственных целей, если не хотите использовать PB по какой-то особой причине. Документы для части сериализации, twisted.spread.jelly
, здесь , и они хорошо суммируют цели формата ...:
Постоянство на основе S-выражения
объекты Python.
Это очень похоже на
Соленый огурец; тем не менее, главная цель мариновать
кажется, эффективность (как в космосе
и время); основные цели желе являются
безопасность, удобочитаемость и
переносимость в другие среды.
Если вы заботитесь больше о безопасности, удобочитаемости и портативности, чем о скорости и компактности, тогда желе действительно может вам пригодиться.