protobuf.js 如何decode
时间: 2024-01-23 19:15:25 浏览: 342
protobuf.js提供了decode方法来解码protobuf消息。下面是一个使用protobuf.js进行解码的示例:
```javascript
const protobuf = require("protobufjs");
// 加载protobuf定义
protobuf.load("awesome.proto")
.then(function (root) {
// 获取消息类型
const AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage");
// 创建一个消息实例
const message = AwesomeMessage.create({ awesomeField: "Hello, protobuf.js!" });
// 将消息编码为二进制数据
const buffer = AwesomeMessage.encode(message).finish();
// 解码二进制数据为消息
const decodedMessage = AwesomeMessage.decode(buffer);
// 打印解码后的消息
console.log(decodedMessage);
});
```
在上面的示例中,我们首先使用`protobuf.load`方法加载protobuf定义文件。然后,我们使用`root.lookupType`方法获取消息类型。接下来,我们创建一个消息实例,并使用`AwesomeMessage.encode`方法将消息编码为二进制数据。最后,我们使用`AwesomeMessage.decode`方法将二进制数据解码为消息对象,并打印解码后的消息。
阅读全文