Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Protocol buffers 协议缓冲区扩展和toString()_Protocol Buffers - Fatal编程技术网

Protocol buffers 协议缓冲区扩展和toString()

Protocol buffers 协议缓冲区扩展和toString(),protocol-buffers,Protocol Buffers,我正在使用一些具有扩展的协议缓冲区(java)。我似乎能够解析序列化的协议缓冲区,但出于调试目的(还有一个问题),我将它们打印到日志中 我把这些东西散落在圆木上: data_config { format: FORMAT_DELIMITED 1024: "\022\001\n" } 下面是消息定义: message DataConfig { optional DataFormat format = 1; extensions 1024 to max; op

我正在使用一些具有扩展的协议缓冲区(java)。我似乎能够解析序列化的协议缓冲区,但出于调试目的(还有一个问题),我将它们打印到日志中

我把这些东西散落在圆木上:

  data_config {
    format: FORMAT_DELIMITED
    1024: "\022\001\n"
  }
下面是消息定义:

message DataConfig {
  optional DataFormat format = 1;

  extensions 1024 to max;
  option (dwhio.data.message_reflection_config) = { reflect_extensions: true };
}
我的问题是“日志中带有1024的调试字符串是否正确(预期)或指示类加载或其他问题?”


我还没有找到一种打印到涉及注册表的字符串的方法,只需“合并”,所以我假设这是不必要的?

问题可能是,当您从二进制解析消息时,您没有提供扩展注册表。因此,扩展被视为未知字段。稍后打印邮件时,扩展名仍然未知,因此会按您所看到的方式打印。解决方案是在解析时提供注册表,例如,
DataConfig.parseFrom(字节,注册表)

So。。你有没有想过这周我应该呆在家里不上班?真正地我不应该用感冒来编码。据我所知,大脑完全停止了功能。肯顿,你完全正确。。我使用的是扩展注册表,但我在另一个地方重建protobuf,没有扩展注册表。谢谢