如果C ++程序收到带有std::string
表示的Protocol Buffers string
field的协议缓冲区消息,那么该字段中的文本编码是什么?是UTF-8吗?
答案 0 :(得分:3)
Protobuf字符串始终是有效的UTF-8
字符串。
请参见Language Guide:
字符串必须始终包含UTF-8编码或7位ASCII文本。
(而且ASCII始终也是有效的UTF-8。)
并非所有protobuf实现都强制执行此操作,但是如果我没记错的话,至少Python库拒绝解码非unicode字符串。