问题标签 [protobuf.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
base64 - 字节字段的 Protobuf 消息到 JSON 转换将字符串转换为 base64?
我有一个如下的原型文件:
当我收到消息时,它被序列化为来自发件人的字符串。
我尝试将其转换为 JSON 对象:
当我打印 base_msg 时,将消息转换为 JSON 后,用户名将转换为 base64 字符串。我怎样才能避免这种情况?
protocol-buffers - 停止省略协议缓冲区中的默认值
我有一个定义如下的原型模式,
现在根据官方proto3 文档,默认值不会序列化以在有线传输期间节省空间。但在我的情况下,我想接收客户端是否明确设置true/false
了字段email_subscribed/sms_subscribed
(因为这些值是true
以前的,但现在用户想要取消订阅)。因此,当客户端发送false
这些字段中的任何一个时,生成器代码序列化器只会忽略这些字段。
我如何实现这一点并避免在上述情况下省略这些字段?
PS:我使用 Javascript 作为我的 GRPC 客户端和 Python 和 GRPC 服务器。
protocol-buffers - Protobuf 没有生成我想要的 API
我正在尝试使用protobufs来帮助序列化我的数据,但是当我在 .proto 文件上运行 protobuf 命令时,它没有为我提供它所说的功能,
即serializeToString和parseFromString。
知道为什么会这样吗?
javascript - 在浏览器应用中使用 protobuf.js
我有一个非常简单的浏览器应用程序,它必须使用 protobuf: https ://github.com/dcodeIO/protobuf.js 我还有一个带有消息格式的“.proto”文件,所以我只需要对传入的消息进行编码与protobuf。
不幸的是,我无法找到如何在我的项目中绑定 protobuf。我发现的只是关于 node.js,我没有使用它。我还找到了一些关于使用 require.js 绑定 protobuf 的信息,并将其写在我的脚本中:
但这似乎是错误的,因为我在控制台中收到此错误:
如果有人做过类似的事情,请你帮我看看好吗?
谢谢
javascript - 使用 Node JS 将对象数组映射到 Protobuf 时出现空响应
下面是我的示例 API 响应,它是一个对象数组。我正在尝试使用以下步骤在 protobuff 中转换此响应。但它总是给我空洞的回应。
脚步:
回复:
控制台日志中的 msg 有点像下面:
理想情况下,msg 应与 API 响应相同,并且缓冲区不应为空。
protoc - 如何使用 protoc 将协议缓冲区字符串编码为二进制
我一直在尝试使用 protoc cli 实用程序对字符串进行编码。注意到输出仍然包含纯文本。我究竟做错了什么?
result.out 包含:
protoc 版本 libprotoc 3.6.0 和 libprotoc 2.5.0
node.js - 在 protobuf.js 中解码消息数组
在我们的 node.js 应用程序中,我们需要反序列化一个我们知道包含多个对象的 Buffer。这样protobuf-net
做是这样的:
我现在正在尝试对protobuf.js
. 我还没有找到一个创建模型对象数组的示例,只有一个模型对象,如下所示:
如何使用 protobuf.js 创建对象数组而不是单个对象?
以下是数据的序列化方式:
javascript - ProtobufJS 重复字节字段未正确编码 Uint8Array
我有一个 protobuf 消息定义为:
我加载我的protobuf:
我创建了一个 protobuf 消息对象
然后我对其进行编码
然后我解码并期待
相反,我看到
然后我将我的 protobuf 加载更改为 JSON
这可以按预期工作,没有其他更改。
我做错了什么还是这是一个错误?
谢谢
Protoubuf 版本:6.8.6
浏览器:铬
带有工作 JSON 加载的 JSFiddle 示例:https ://jsfiddle.net/740snmu6/12/
node.js - 解码时间戳与原始 DateTime 值不同的日期
DateTime
我们有一个 .NET 应用程序,它在架构中定义 a ,如下所示:
该应用程序能够使用序列化数据protobuf-net
,然后在反序列化后,可以按预期准确检索日期。
我现在正在尝试使用protobuf.js
. 我在.proto
文件中定义了该数据点,如下所示:
解码后,生成的出生日期与原始数据不同。例如,当日期最初是 1976 年 10 月 10 日时,反序列化的日期为:
Date
从那个 ( )创建 JavaScript时new Date(4948 * 1000)
,结果是 1/1/1970。这里出了什么问题?
protobuf.js - What problems am I likely to run into adapting writer.js to write to file instead of memory?
We are working with large (10MB+) protocol buffers and it seems like encoding is producing a ton of garbage. Ultimately I want to get the encoded protobuf onto disk, and I'm thinking I could avoid all of these list node allocations if I were to - with a few other changes - replace the _push call with an append to file call.
Any reasons I shouldn't bother?