【发布时间】:2017-05-17 15:51:58
【问题描述】:
在将图像数据发送到用 C# 编写的服务器之前,我使用 python 在 base64 中对图像数据进行编码。接收到的数据与正在发送的数据相同。但是,当我解码编码字符串时,我得到了不同的结果。 以下是截取屏幕截图并将其编码为 base64 的代码:
screen_shot_string_io = StringIO.StringIO()
ImageGrab.grab().save(screen_shot_string_io, "PNG")
screen_shot_string_io.seek(0)
return base64.b64encode(screen_shot_string_io.getvalue())
它按原样发送到服务器,服务器正确接收编码字符串,没有数据损坏。
这是解码字符串的c#代码:
byte[] decodedImg = new byte[bytesReceived];
FromBase64Transform transfer = new FromBase64Transform();
transfer.TransformBlock(encodedImg, 0, bytesReceived, decodedImg, 0);
那么有谁知道为什么数据解码后结果不正确?
【问题讨论】:
-
常规方式怎么样?
byte[] decodedImg = Convert.FromBase64String(base64String);? -
试过了。它没有用。