首页 > 编程语言 >Python3处理grpc接口返回包含中文编码的protobuf数据时的显示问题

Python3处理grpc接口返回包含中文编码的protobuf数据时的显示问题

时间:2022-08-29 22:02:21浏览次数:117  
标签:编码 中文 protobuf grpc bytes Python3 string

[本文出自天外归云的博客园]

当你用python调用grpc接口的时候,返回的protobuf数据中如果含有中文,会显示成编码模式,类似“\345\214\227\344\272\254”,如何显示成中文呢?这里有两种办法:

# 方法一:对 grpc 接口返回的包含中文编码的整体内容进行处理
def first_method(self, req):
    response = self.client.DoSomeRPCRequest(req)
    from google.protobuf.json_format import MessageToJson

    j = MessageToJson(response)
    a = json.loads(j)
    print(a)

def convert_string_to_bytes(string):
    import struct

    bytes = b""
    for i in string:
        bytes += struct.pack("B", ord(i))
    return bytes

# 方法二:对某个包含中文编码的字符串进行处理
def sec_method():
    a = "\345\214\227\344\272\254"
    b = convert_string_to_bytes(a)
    print(b.decode())

你学会了吗?

标签:编码,中文,protobuf,grpc,bytes,Python3,string
From: https://www.cnblogs.com/LanTianYou/p/16637570.html

相关文章

  • python3 常用内建模块
    datetime:处理日期和时间的标准库 获取指定日期和时间 str转换为datetimefromdatetimeimportdatetimecday=datetime.strptime('2015-6-118:19:59','%Y-%m-%d%H:......
  • Python3 文件读写、文件操作
    读取文件,每次都调用try.....finally太麻烦了,所以python就引入了with语句来自动帮我们调用close()方法withopen('/path/to/file_name','r')asf:print(f.read())调......
  • tiangolo/uvicorn-gunicorn:python3.8 fastapi docker部署
    经验教训:1、gunicornlog文件固定放置在容器中目录:/code/logs,所以这个目录必需映射出来;2、按照fastapi官方建议,uvicorn运行目录:/app,所以这个目录要映射到代码目录;3、......
  • Airtest IDE 自动化测试16 - 本地 python3 环境命令运行 airtest 脚本
    前言AirtestIDE自带了python3环境,但是每次执行脚本都需要打开IDE,在IDE上点运行按钮才能执行。如果我们想通过命令行执行脚本,可以在本机安装python3环境准备安装p......
  • 【python3.8】斐波拉契数列实现
    importtimedefmemoize(f):memo={}defhelper(x):ifxnotinmemo:memo[x]=f(x)returnmemo[x]returnhelper......
  • Python3项目初始化10-->JS基础、dom、jquery、database
    29、JS基础var定义变量数字字符串和Python一样布尔值true和false首字母不大写逻辑判断if(){}elseif(){}else{}借助浏览器console执行操作,见截图。   ......
  • 3,python3 windows 安装,及 windows python 环境 requests模块安装
    1,安装python环境1,执行安装包,双击->python-3.10.4-amd64.exe->勾选选自定义安装和勾选添加环境变量  2,勾选安装所有用户和设置安装路径  3,cmd->python,验证Py......
  • C++ Protobuf
    Protobufprotobuf(protocolbuffer)是谷歌内部的混合语言数据标准。通过将结构化的数据进行序列化(串行化),用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展......
  • 基于Anacoda搭建虚拟环境cudnn6.0+cuda8.0+python3.6+tensorflow-gpu1.4.0
    !一定要查准cudnn,cuda,tensorflow-gpu对应的版本号再进行安装,且本文一切安装均在虚拟环境中完成。下文以笔者自己电脑为例,展开安装教程阐述(省略anaconda安装教程):1.查询电脑......
  • python3 函数 定义函数与切片
     如果我们要计算一个圆的面积,就是3.14*r*r,如果每次就算,则每次都要写一遍,就很麻烦,所以有了函数,我们就可以通过调用函数的方法,直接使用就行了。 这里我们可以访问 ......