Есть ли общий двоичный формат между iOS и Python? Я нашел бинарные списки свойств.
У меня есть список UIBeziarPath
в массиве, который я хочу отправить на Python. Я просто ищу что-то, что очень эффективно сможет это сделать. Я просмотрел текстовые форматы, такие как JSON, за исключением того, что для этой цели они кажутся менее эффективными, чем двоичный формат.
Нет форматов, специально предназначенных для iOS/Python. Существуют многочисленные форматы обмена данными, которые вы могли бы использовать, включая буферы протоколов, BSON, ASN.1 (если вы так наклонены) и даже целый ряд бинарных форматов сериализации XML.
OTOH, я бы сильно поддержал JSON (текстовый формат), если полоса пропускания исключительно жесткая.
EDIT: Я ужасно отказался не упоминать еще одного сильного претендента на двоичную передачу: BERT. Я бы поддержал BERT над любым другим двоичным форматом, но обратите внимание на мои комментарии к исходному вопросу о размере кодирования.
Python имеет struct
стандартный модуль, который позволяет легко манипулировать простыми двоичными форматами с преобразованием в типы python (struct.unpack
) или в обратном направлении (struct.pack
).
[[3.52134223,-1.138012382],[0.847120941,0.001883412]]
- тогда победит двоичный формат, но если они целые числа -[[234,28],[-202,0]]
- тогда вы можете обнаружить, что JSON более компактен, чем двоичные форматы, которые обычно используют восемь байтов плюс накладные расходы для хранения реалов. Если пропускная способность является серьезной проблемой, вам, вероятно, придётся свернуть собственное сжатие, которое использует шаблоны данных, присутствующих в ваших кривых (например, дельта-сжатие соседних контрольных точек).