在 C# 中处理 Python pickle 字节对象

Handle Python pickle bytes object in C#

在 C# 应用程序中使用 Pythonnet:

Python returns 一个 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")