繁体   English   中英

两个NSData对象-base64编码为1个“包”

[英]Two NSData objects - base64 encode as 1 “package”

我有2个要通过电线发送的NSData对象(视频+缩略图)。 我想将两个对象都作为一个包进行base64编码,以便对它们进行分块并发送。

接收器在收到所有块之后可以解包并拥有2个对象。

如何将2个NSData对象合并为单个base64字符串,以便可以轻松在接收方将其拆包?

您有几种选择。

  1. 您可以将两个文件压缩在一起,并获得压缩文件的NSData 然后,服务器可以解压缩结果数据文件。

  2. 您可以在这两个数据块之前加上一组简单的字节,告诉服务器即将发生的事情。 数据可以是一个字节,代表文件数。 然后,每个文件后跟4个字节。 4个字节中的每个字节代表每个文件的数据长度。 因此,您的数据将变成1字节计数,4字节系列,然后是每个文件的字节,从而构成一个大NSData ,然后对它进行base64编码。 然后,服务器将解码数据,查看第一个字节以了解文件计数,然后读取文件长度集。 然后根据每个长度,它将知道数据的哪个部分属于每个文件。

  3. 您可以执行一个HTTP POST,其中包含每个文件名和每个文件。 搜索“ http帖子文件multipart / form-data”。

一种真正简单的方法是对Base64分别编码每个文件,并将生成的Base64字符串与一个永远不会出现在Base64数据中的字符(例如逗号)连接起来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM