为了账号安全,请及时绑定邮箱和手机立即绑定

当 python 服务器通过 gRPC 获取数据时,如何修复格式错误的字符串输出?

当 python 服务器通过 gRPC 获取数据时,如何修复格式错误的字符串输出?

Go
慕莱坞森 2022-06-21 16:28:45
制作服务器(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文件中的值更改为字符串中的字节


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信