我使用以下代码
int lenSend = odl->ByteSize();
char* buf = (char *)malloc(lenSend);
odl->SerializeToArray(buf, lenSend);
Run Code Online (Sandbox Code Playgroud)
我收到这个错误,我无法理解为什么我得到它(是的,我得到它三次):
libprotobuf ERROR google/protobuf/wire_format.cc:1059]在序列化协议缓冲区时遇到包含无效UTF-8数据的字符串.字符串必须只包含UTF-8; 对原始字节使用'bytes'类型.
libprotobuf ERROR google/protobuf/wire_format.cc:1059]在序列化协议缓冲区时遇到包含无效UTF-8数据的字符串.字符串必须只包含UTF-8; 对原始字节使用'bytes'类型.
libprotobuf ERROR google/protobuf/wire_format.cc:1059]在序列化协议缓冲区时遇到包含无效UTF-8数据的字符串.字符串必须只包含UTF-8; 对原始字节使用'bytes'类型.
谢谢.
您可以按照消息中的建议消除警告!
您必须在odl
(在.proto文件中)的定义中包含一个或多个字段,这些字段定义为string
您将非UTF-8字符放入其中. 文档声明你不应该这样做.如果将这些更改为bytes
,则警告应消失.
归档时间: |
|
查看次数: |
10514 次 |
最近记录: |