如何压缩base64字符串

nit*_*tla 3 c# base64 unity-game-engine

我正在将 5mb base64 字符串从 unity android 应用程序发送到后端 api。由于大量数据传入,发布和获取应用程序变得缓慢。我想将 base64 5mb 字符串压缩到较小的大小。谁能帮我找到解决方案

我已经尝试了所有解决方案,如 GZipStream 和所有其他解决方案,但它们对普通字符串工作正常,但在尝试使用 base64 时无济于事。

谁能告诉如何压缩和解压缩 base64 字符串。

Mil*_*ney 9

Base64 已经以不适合大多数压缩算法的方式进行编码 - 请参阅为什么 base64 编码的数据压缩得如此糟糕?详情。

您将需要压缩原始二进制数据,然后对压缩数据进行 base64 压缩,或者根本不需要转换为 base64。

此外,许多 HTTP 客户端/服务器会自动压缩流,因此这可能已经隐含地发生了。

一个更好的问题可能是您为什么要在 Web 请求中发送如此大量的数据,也许您应该尝试减小大小而不是尝试压缩它...

  • 哦,它是一个图像?图像文件通常已经被压缩 - 您将无法减小图像文件的大小。您将增加将其转换为 Base64 的大小,因此直接发送字节将是最快的方法 (3认同)
  • 如果您不需要原始质量,则可以在发送之前使用图像处理库来降低图像质量,从而降低图像大小 (3认同)