- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试使用 protoc cli 实用程序对字符串进行编码。
注意到输出仍然包含纯文本。
我究竟做错了什么?
osboxes@osboxes:~/proto/bin$ cat ./teststring.proto
syntax = "proto2";
message Test2 {
optional string b = 2;
}
echo b:\"my_testing_string\"|./protoc --encode Test2 teststring.proto>result.out
^R^Qmy_testing_string
最佳答案
只是为了正式回答:
写的命令应该没问题;输出是 protobuf 二进制 - 它只是类似于文本,因为 protobuf 使用 utf-8 对字符串进行编码,并且您的内容以字符串为主。然而,尽管如此:该文件实际上并不是文本,如果您需要检查它,您通常应该使用十六进制查看器或类似工具。
如果您想了解文件的内部结构,https://protogen.marcgravell.com/decode是一个很好的资源 - 它按照协议(protocol)规则撕下输入文件或十六进制字符串,并告诉您每个字节的含义(字段标题、长度前缀、有效负载等)。
我猜你的文件实际上是:
(十六进制) 10 11 6D 79 5F 等
即 0x10 = "field 2, length prefixed", 0x11 = 17 (payload length, 编码为 varint), 然后 "my_testing_string"编码为 17 字节的 UTF8。
关于protoc - 如何使用 protoc 将 Protocol Buffer 字符串编码为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51087310/
我一直在尝试使用 protoc cli 实用程序对字符串进行编码。 注意到输出仍然包含纯文本。 我究竟做错了什么? osboxes@osboxes:~/proto/bin$ cat ./teststr
要为 Python 编译 proto 文件,我可以 protoc -I=.--python_out=$DST_DIR sommem.proto 基于 https://developers.google
如何查看protoc-gen-go和protoc-gen-validate的版本? protoc-gen-go --version protoc-gen-validate --version 我试过上
我们使用的是 protoc-gen-go v2(v2 是 google.golang.org/protobuf,v1 是 github.com/golang/protobuf) 当我们尝试编译 gRP
我正在尝试用 C++ 生成 Google Assistant 库。 我已经使用 protoc 编译器编译了 embedded_assistant.proto 文件,并获得了用于库的 embedded_
我想使用来自 protoc-gen-grpc-kotlin 的 protoc-gen-grpc-kotlin-1.0.0我得到了 Execution failed for task ':generat
我想使用来自 protoc-gen-grpc-kotlin 的 protoc-gen-grpc-kotlin-1.0.0我得到了 Execution failed for task ':generat
我只是想使用 Protocol Buffer 为 golang 生成代码。但是无法使用 protoc 命令生成服务。 syntax = "proto3"; package greet; option
我正在尝试构建一个自定义协议(protocol)插件来从 .proto 文件生成自定义输出。我从 protoc custom plugin 复制了包含 CodeGenerator 的 java 文件作
protoc-gen-doc 自定义模板规则详解 配套演示工程 此项目中所用 proto 文件位于 ./proto 目录下,来源于 官方proto示例 此项目中所列所有
我正在尝试运行: protoc *.proto -python_out=. 在 tensorflow > models > research > object_detection > protos 内
我想使用 protoc生成java文件的命令 我一直在遵循来自 github https://github.com/protocolbuffers/protobuf 的自述文件中的说明但它只是告诉您下
我想实现dart-protobuf,但是dart-protoc-plugin(从proto定义生成Dart protobuf库的项目)当前不支持Windows。我找不到该插件的替代品。没有其他方法可以
问题: 我在根目录中有 2 个文件。 我使用 Makefile 从 .proto 文件生成 Go 代码。 但是 Video 结构中的语言字段是一个值,而不是指向该值的指针。 Video 结构中的 su
我正在尝试在 How to write a custom Protobuf CodeGenerator in Java 制作工作示例。当我尝试使用编译文件时 import com.google.pro
当我运行这个时: protoc --python_out=. .\object_detection\protos\anchor_generator.proto 在命令行上的 tensorflow 对象
我正在尝试开发一个插件,以便自动生成特定于我的应用程序的代码。虽然一个可能更简单的策略是让我的代码使用由 c++ 插件生成的文件,但我正在尝试从头开始编写插件。 正如我添加到我的包中的文档中所解释的那
描述 我想用java调用golang grpc,我用老golang的consumer_proto.proto来生成java代码 过程 protoc --java_out=/home/xxx/src/
我正在开发一个应用程序,该应用程序必须针对使用 google protocol buffers 3.0.0 版的目标进行交叉编译。有没有办法在 protoc 命令(或 .proto 文件)中指定生成的
即使每个 python grpc 快速入门引用都使用 grpc_tools.protoc生成实现proto文件的python类,the closest thing to documentation t
我是一名优秀的程序员,十分优秀!