Строки Protobuf всегда действительны UTF-8
строки.
См. Руководство по языку :
Строка всегда должна содержать кодировку UTF-8 или 7-битный текст ASCII.
(И ASCII всегда также действителен UTF-8.)
Не все реализации protobuf обеспечивают это, но, если я правильно помню, по крайней мере, библиотека Pythonотказывается декодировать не-юникодные строки.