如何在ios中对gbk进行base64解码?
首先下载在github上下载Base64的编解码第三方组件:
https://github.com/nicklockwood/Base64
下载后导入到项目中,如果你的文本是Utf-8编码的,解码直接调用方法:
- (NSString *)base64DecodedString { return [NSString stringWithBase64EncodedString:self]; }
即可完成解码操作。
但是对于其它编码,比如GBK,则回返回空。
通过查看源代码,发现编码部分已经被写死为:
return [[self alloc] initWithData:data encoding:NSUTF8StringEncoding];
所以,我们要对此方法进行拓展:
+ (NSString *)stringWithBase64EncodedString:(NSString *)string withEncoding:(NSStringEncoding)encoding { NSData *data = [NSData dataWithBase64EncodedString:string]; if (data) { return [[self alloc] initWithData:data encoding:encoding]; } return nil; } - (NSString *)base64DecodedString:(NSStringEncoding)encoding { return [NSString stringWithBase64EncodedString:self withEncoding:encoding]; }
GBK文本调用解码方法:
NSStringEncoding gbkEncoding =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSLog(@"base64 %@",[str base64DecodedString:gbkEncoding]);
搞定!
相关推荐
IOS图片BASE64编码解码 自己写的实例
在iPhone开发中很多时候都需要将数据进行Base64编解码。 在一些大项目中,就需要将通过RSA加密算法加密后的数据进行Base64编码, 然后再通过网络将iPhone端的数据传送到服务器端, 服务器端收到数据后再进行解码,...
IOS 上将图片进行BASE64编码,方便网络传输的例子
Base64转码,AES加密解密,IOS,Android,Java 后台。...1.先用AES 对数据进行加密,然后用Base64进行转码。 2.利用AES加密后,通过密匙可以在网页中进行解密。 在线解密网址:http://www.seacha.com/tools/aes.html
android ios java后台通用DES base64加密
iOS中比较常见的RSA加密的代码和Base64的代码
用c++写的base64位编码,用于ios应用
iOS数据安全--base64、md5、AES、DES、RSA
ios中将base64将图片转码的demo,方便传输,存储
NULL 博文链接:https://dingran.iteye.com/blog/1791924
iOS&OSX; Base64加密解密,供大家一起共同分享学习。
iOS常用加密方法(aes、md5、base64) 下载之前请阅读一下播客说明:http://blog.csdn.net/z251257144/article/details/8291992
手机模板_苹果风格 iOS7版GBK 手机dz模板不错
IOS下DES加解密,并Base64编码 ,和Android端统一,稍作修改可以输出任意形式的加解密文,也可直接用于项目中开发。秘钥是8字节的NSdata类型
iOS常用加密方法(aes、md5、base64)
IOS base64加密
上传图片压缩并且转为base64并且上传阿里云(对ios相机拍照旋转90度处理)
Base64加解码 使用方法: 1)丢入ios项目。 【注意】开启ARC的同学注意 解决方法:-fno-objc-arc 2)在要使用GTMBase64的地方#import "GTMBase64.h"引入头文件 3)下面详细说明: 常用的方法,有下面几个: ...
同时生成了缩略图和正常图片的base64值,缩略图用于页面进行显示,正常图片进行后续打开查看。测试了安卓和ios的微信端,一切正常。 另外由于缓存资源的原因没有考虑上传按钮的添加,上传图片即上传,ajax为异步...