博客> 关于二进制流与NSData,NSString编码问题
关于二进制流与NSData,NSString编码问题
2019-10-11 02:07 评论:0 阅读:1060 清墨墨
ios 二进制流转NSData GTMBase64 base64编码 byte数组转string问题 后台传byte数组到客户端 base64转码解码
 在我开发项目的过程中,后台将我需要的地图数据传过来,我这边是以json的形式接收,但是后台传过来的时候,只是将数据的byte数组直接扔给我,我这边解析出来,发现是一个string类型,我这边需要将这个数据封装成NSData,并写入到项目沙盒的Document文件夹下,后面再解析这个文件来把地图加载出来。
为此,我试了很多种方法将收到的string转为data,尝试了各种格式的互转。这个二进制流的处理还是没有得到解决,后来参考安卓的实现方法,在网上找到了一个base64的编码解码文件,将其导入项目,再解码,就得到了我想要的NSData,这对于后台直接给我们iOS扔byte数组有致命的解决办法,对,致命的。百度上能找到相关的信息,但很多我们可能不需要,我这里再写个博客,让需要的人少走弯路。

这里有GTMBase64文件的下载方式(压缩包)和一点介绍: http://www.cocoachina.com/bbs/read.php?tid=181478

NSString *myStr = @"SJSNDML+msdmmmd=snkamKSKSNDNMMASNSBDNKANMDSA+=DSA==DSAKMSA"; //这种类型

NSData *myData = [myStr dataUsingEncoding:NSUTF8StringEncoding];

myData = [GTMBase64 decodeData:myData];

这里myData就是我们需要的数据了,然后就能通过

NSFileManager *manager = [NSFileManager defaultManager];

[manager createFileAtPath:filePath contents:floorMapData attributes:nil];的方式将data写入到想要的位置里面

网上有许多种方法,我也试了很多很多,但有用的只有这个,GTMBase64,希望对大家有所帮助,也希望大家有建议,意见随便提,共同进步。

收藏
1
sina weixin mail 回到顶部