Ответ
Protobuf (Protocol Buffers) — это бинарный формат сериализации данных от Google. Он компактнее и быстрее JSON/XML, т.к. использует бинарное представление и схему (*.proto файлы).
Пример:
message User {
required string name = 1;
optional int32 age = 2;
}
Использование в Kotlin:
val user = User.newBuilder().setName("Alex").setAge(25).build()
val bytes = user.toByteArray() // Сериализация
val parsedUser = User.parseFrom(bytes) // Десериализация
Плюсы:
- Меньший размер данных
- Быстрая сериализация/десериализация
- Поддержка генерации кода для разных языков
Минусы:
- Нечитаемость без схемы
- Сложнее дебажить