前言

最近公司开发一款app(原生安卓的),由于客户需要在app上展示3D效果图,但是客户的源文件是setp格式的,而且文件很大。鉴于文件解析等一系列考虑,最终打算使用服务器将源文件解析成json或者obj格式,然后传输到app上打开预览,最终选择的是使用python将step解析成json,本地测试一切正常,上线发现问题来了,解析出来的json文件比源文件非常大,通常都是好几十MB,所以就考虑压缩传输,然后在客户端进行解压渲染。

各种压缩方式测试

  • 7z+zip或者7z+7z压缩方案:采用7z压缩后,再使用zip或者7z压缩,文件和第一次压缩大小一样(不可嵌套压缩)
  • Inflate和Deflate+7z压缩方案:采用Inflate和Deflate压缩完字符串后,再7z的文件比直接json+7z压缩出来的文件要大。
  • Inflate和Deflate+base64+7z压缩方案:采用Inflate和Deflate压缩完字符串后的base64存储到文件,再使用7z压缩,这种方式压缩出来的文件也比直接压缩json要大。

结束语

能直接使用7z压缩json就直接使用,其他几种方案都不是最优方案。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐