Есть опыт работы с буферами протокола?

Я просто просматривал некоторую информацию о формате обмена данными буферов протоколов Google. Кто-нибудь играл с кодом или даже создал проект вокруг него?

В настоящее время я использую XML в проекте Python для структурированного контента, созданного вручную в текстовом редакторе, и мне было интересно, каково общее мнение о буферах протоколов как о пользовательском формате ввода. Скорость и краткость преимущества, безусловно, кажется, есть, но есть так много факторов, когда дело доходит до фактического создания и обработки данных.

4 ответа

  1. Если вы ищете взаимодействие с пользователем, придерживайтесь xml. Он имеет больше поддержки, понимания и общего принятия в настоящее время. Если это внутреннее, я бы сказал, что буферы протоколов-отличная идея.

    Возможно, через несколько лет, когда появится больше инструментов для поддержки буферов протоколов,тогда начните искать это для общедоступного api. До тех пор… JSON?

  2. Буферы протоколов предназначены для оптимизации связи между машинами. Они действительно не предназначены для человеческого взаимодействия. Кроме того, формат является двоичным, поэтому он не может заменить XML в этом случае использования.

    Я бы также рекомендовал JSON как самый компактный текстовый формат.

  3. Из вашего краткого описания кажется,что буферы протоколов не подходят. Фраза «структурированный контент, созданный вручную в текстовом редакторе» в значительной степени кричит для XML.

    Но если вы хотите эффективно и с низкой задержкой взаимодействовать со структурами данных, которые не являются общими за пределами вашей организации, двоичная сериализация, такая как буферы протоколов, может предложить огромную победу.

  4. Другой недостаток двоичного формата, как PB является то, что если есть один бит ошибки, весь файл данных не может быть проанализирован, но с JSON или XML, как последнее средство вы все еще можете вручную исправить ошибку, потому что он читается человеком и имеет встроенную избыточность.