c# - 在 C# 中处理 Python pickle 字节对象
问题描述
在 C# 应用程序中使用 Pythonnet:
Python 返回一个bytes ({<class 'bytes'>})
作为操作结果的对象pickle.dumps
。
在 C# 中处理此对象的最佳方法是什么,以持久保存 blob 存储并重新水化bytes
对象以在稍后阶段传回 Python?
解决方案
假设您可以访问等式的 Python 方面,处理此类问题的最简单方法是以某种相互理解的格式序列化对象。
在这种情况下,一种想法是将字节序列化为 base64(UTF-8 或 -16 等 unicode 可能会遇到编码问题,具体取决于字节字符串的内容)。然后,您可以将该 base64 字节转换为 UTF-8,以便在程序之间进行通信。
这看起来像(例如):
base64.b64encode(pickle.dumps("Some data goes here")).decode("utf-8")
推荐阅读
- c# - InvokeAsync 传递回调函数
- javascript - 为什么 .then 方法不会全局填充 productList 数组?
- ubuntu - 如何在 Ubuntu 19.10 的 80 端口上运行 tomcat?
- google-compute-engine - GCP VPN 的 IKE 版本和加密
- java - 如何将参数添加到后端服务器上的 Firebase 动态链接?
- java - 如何使用 u.are.u SDK 从 SQL 中的查询创建 FMD
- sharepoint - 快速编辑视图替代现代?
- python - Django 服务器无法在 Docker 容器中启动
- javascript - 需要使用 vanilla Javascript 从 HTML 表单中获取数据
- numpy - 删除具有附加要求的重复项