文章目录
方法
将二进制先经过 Base64
编码,传输完成,用 Base64
进行解码。注意有的函数库,解码返回的不是二进制,而是字符串的形式。
Js
解码函数库 : Js Base64编解码
示例(proto buffer)
-
proto_hello.proto
的定义syntax = "proto3"; option csharp_namespace = "Protocol"; option java_package = "com.fd.protocol.auto"; message Hello { string name = 1; }
-
Java
服务器端ProtoHello.Hello hello = ProtoHello.Hello.newBuilder().setName("Hello the world!").build(); base64encode = Base64.encode(hello.toByteArray()); // base64工具用的 hutool 包
-
js
客户端const { data } = await BattleService.autoBattle(this.uidList, this.challengeId, this.staffIds) let msg = this.$apiResponse(data) if (msg) { let HELLO = ProtoRoot.lookupType('Hello') console.log(HELLO.decode(Base64.base64ToBinary(msg))) // base64 用的上面链接的js函数,需要封装 }