制作服务器(python),客户端(golnag)当客户端通过 gRPC 发送字符串数组时服务器打印奇怪的数据。.proto下面的例子message HiRequest { repeated string hi = 1;}下面是golang代码input := new(pb.HiRequest)input.Hi = append(input.Hi, "안녕")input.Hi = append(input.Hi, "おはよう")input.Hi = append(input.Hi, "Hello")// Send to server下面的python代码print(request.hi)预期输出是hi: "안녕"hi: "おはよう"hi: "Hello"但实际输出是hi: "\354\225\210\353\205\225"hi: "\343\201\212\343\201\257\343\202\210\343\201\206"hi: "Hello"谁能告诉我原因?和解决方案PLZ
1 回答
白板的微信
TA贡献1883条经验 获得超3个赞
发生的情况是您发送 Unicode 字符并将它们编码为 1 字节字符。假设您收到的值是字节类型,只需执行以下操作:
value.decode()
例如:
value = b"\343\201\212\343\201\257\343\202\210\343\201\206" # creating a bytes type string
print(value.decode())
>>> おはよう
编辑:
对于任何其他绊倒的人:如果我所说的对您不起作用,请将.proto文件中的值更改为字符串中的字节
- 1 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消