Я работаю с google protobuf в Java. Я вижу, что можно сериализовать сообщение protobuf для String, byte [], ByteString и т.д.: (Источник: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/MessageLite)
Я не знаю, что такое ByteString. Я получил следующее определение из документации API protobuf (источник: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/ByteString): "Неизменяемая последовательность байтов. Подстрока поддерживается путем совместного использования ссылки на неизменяемые базовые байты, как и со строкой".
Мне непонятно, как ByteString отличается от String или byte []. Может кто-нибудь объяснить? Спасибо.