将代码从 JS 转换为 C#。我不明白这个函数有什么作用



`

const yandexRequests = (function() {
var protoRequest = new protobuf.Type("VideoTranslationRequest").add(new protobuf.Field("url", 3, "string")).add(new protobuf.Field("deviceId", 4, "string")).add(new protobuf.Field("unknown0", 5, "int32")).add(new protobuf.Field("unknown1", 6, "fixed64")).add(new protobuf.Field("unknown2", 7, "int32")).add(new protobuf.Field("language", 8, "string")).add(new protobuf.Field("unknown3", 9, "int32")).add(new protobuf.Field("unknown4", 10, "int32"));
var protoResponse = new protobuf.Type("VideoTranslationResponse").add(new protobuf.Field("url", 1, "string")).add(new protobuf.Field("status", 4, "int32"));
new protobuf.Root().define("yandex").add(protoRequest).add(protoResponse);
return {
encodeRequest: function(url, deviceId, unknown1) {
return protoRequest.encode({url: url, deviceId: deviceId, unknown0: 1, unknown1: unknown1, unknown2: 1, language: "en", unknown3: 0, unknown4: 0}).finish();
},
decodeResponse: function(response) {
return protoResponse.decode(new Uint8Array(response));
}
};
})();

var body=yandexRequests.encodeRequest(url,deviceId,unknown1);`

我不明白这个函数的作用。

它返回一个包含两个函数的对象:encodeRequestdecodeResponse。这些函数在被调用时调用protoRequest.encodeprotoResponse.decode

protobuf是谷歌的东西,我认为:https://www.tutorialspoint.com/protobuf/index.htm,但我认为他们没有JavaScript版本,所以这可能是一个自定义的工作。

最新更新