嗨,我想像这样通过套接字 xml 发送。
<root>
<image ID='2'>
<![CDATA[ binary data with image ]]>
</image>
</root>
我有问题,因为图像是二进制数据,而其他部分是字符串。我要发送多张图片,我需要有 ID。
主要问题是如何处理二进制数据和字符串数据。我试图将图像转换为 str 但我无法恢复它。
嗨,我想像这样通过套接字 xml 发送。
<root>
<image ID='2'>
<![CDATA[ binary data with image ]]>
</image>
</root>
我有问题,因为图像是二进制数据,而其他部分是字符串。我要发送多张图片,我需要有 ID。
主要问题是如何处理二进制数据和字符串数据。我试图将图像转换为 str 但我无法恢复它。
嵌入二进制的一种有用方法xml
是对其进行 base64 编码。例如,这是XAML
用于发送小图像的方法。您可以在代码中的某处这样做:
import base64
img = open('some.png',rb').read()
base64.b64encode(img)
# append it to your buffer
另一方面:
#get the img portion in the buffer
import base64
img = base64.b64decode(fetched_img)
# write it to disk or whatever
这是处理XML
.
使用base64
很简单,这是解释器中的一个例子:
In [1]: import base64
In [4]: base64.b64encode('example')
Out[4]: 'ZXhhbXBsZQ=='
In [5]: base64.b64decode('ZXhhbXBsZQ==')
Out[5]: 'example'
您可以在此处阅读文档。
希望这可以帮助!
只需将套接字作为二进制连接 - 无论如何你可能都不关心换行符转换。