制作服務器(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 關注
- 177 瀏覽
添加回答
舉報
0/150
提交
取消