当前位置 : 主页 > 大数据 > 区块链 >

protocol-buffers – Google协议缓冲区错误:“在序列化协议缓冲区时遇到包含无效

来源:互联网 收集:自由互联 发布时间:2021-06-22
我使用以下代码 int lenSend = odl-ByteSize();char* buf = (char *)malloc(lenSend);odl-SerializeToArray(buf, lenSend); 我收到这个错误,我无法理解为什么我得到它(是的,我得到它三次): libprotobuf ERROR google/pro
我使用以下代码

int lenSend = odl->ByteSize();
char* buf = (char *)malloc(lenSend);
odl->SerializeToArray(buf, lenSend);

我收到这个错误,我无法理解为什么我得到它(是的,我得到它三次):

libprotobuf ERROR google/protobuf/wire_format.cc:1059] Encountered string containing invalid UTF-8 data while serializing protocol buffer. Strings must contain only UTF-8; use the ‘bytes’ type for raw bytes.
libprotobuf ERROR google/protobuf/wire_format.cc:1059] Encountered string containing invalid UTF-8 data while serializing protocol buffer. Strings must contain only UTF-8; use the ‘bytes’ type for raw bytes.
libprotobuf ERROR google/protobuf/wire_format.cc:1059] Encountered string containing invalid UTF-8 data while serializing protocol buffer. Strings must contain only UTF-8; use the ‘bytes’ type for raw bytes.

谢谢.

您可以按照消息中的建议消除警告!

odl(在.proto文件中)的定义中必须有一个或多个字段,这些字段定义为字符串,但是您要将非UTF-8字符放入其中. The docs state that you shouldn’t do this.如果将这些更改为字节,则警告应消失.

网友评论