我有一个与ERP系统的集成项目,它返回一个用zip压缩为二进制字符串的发票列表:
Xc1NCsIwEEDhq0j2ZuIPCEWF4qqgNNCN2yFWGzAzMhmMvb1g0YUHeN / b1iI4tlcvkSXq2NCTY + hnr3SnvDOD6qMCyGHoE2Z7QcXApIJBLcsNls6twW1gyn3b1b6xB06Jyf6R2UxoFX9sKcWW1RdawPl07D6neaSsSKE3sH8D
我无法成功提取它,我尝试使用gzuncompress()
,new ArchiverZip()
也尝试将其转换为bin2hex
,base64
...而且没有,我应该从这个字符串中获取一个对象。
开发ERP系统的人告诉我他们用Ionic压缩它(??):
Ionic.Zlib.DeflateStream.UncompressBuffer(compressedData);
有什么想法吗? 感谢
答案 0 :(得分:1)
该数据使用原始deflate进行压缩(没有zlib,gzip或defrap数据的zip包装)和base64编码。解码和解压缩,它是:
<ArrayOfPriorityInvoice xmlns="http://schemas.datacontract.org/2004/07/PrioriPOSAPI.Common.PriorityInvoices" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>
使用base64_decode()
和gzinflate()
提取数据。
答案 1 :(得分:-1)