我正在将图像从 python 后端传输到 c++ 后端。我选择了 Google protobuf,结构简单如下:
message data {
optional string image = 1;
}
然后我使用 Python 读取图像并将其放入图像字段:
data = server_pb2.data()
data.image = (open(image_fn).read())
但是 protobuf 抱怨以下消息:
值错误:[十六进制数据] 的类型为 str,但不是 7 位 ASCII 编码。非 ASCII 字符串在添加之前必须转换为 unicode 对象。
我尝试了几种方法使数据成为 unicode,但没有成功。
也许有人以前遇到过这个问题?或者有没有更好的方法来传输图像数据?
谢谢!