在C#中处理Python泡菜字节对象

cil*_*arl 4 c# python.net

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

Python返回一个bytes ({<class 'bytes'>})对象,该对象是pickle.dumps操作的结果。

就持久性到Blob存储并重新存储bytes对象以在稍后阶段传递回Python 而言,用C#处理此对象的最佳方法是什么?

Eri*_*ort 7

假设您可以访问方程式的Python端,则处理此类问题的最简单方法是以某种相互理解的格式序列化对象。

在这种情况下,一个想法是将字节序列化为base64(根据字节字符串的内容,诸如UTF-8或-16这样的Unicode可能会遇到编码问题)。然后,您可以将该base64字节转换为UTF-8,以便在程序之间进行通讯。

看起来像(例如):

base64.b64encode(pickle.dumps("Some data goes here")).decode("utf-8")
Run Code Online (Sandbox Code Playgroud)