如何在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编码与解码是一种常见的数据处理技术,它涉及到字符串与二进制数据之间的转换。BASE64是一种用于将任意二进制数据转化为ASCII字符编码的方法,通常用于在网络上传输非ASCII字符或者作为...
在"IOS-图片编码-Base64-例子"这个主题中,我们将深入探讨如何在iOS应用中实现Base64编码和解码图片。 首先,我们要了解Base64的基本原理。Base64使用的字符集包括大小写字母(A-Z, a-z)、数字(0-9)以及两个特殊...
这篇博客文章“Base64编解码Android和ios的例子,补充JNI中的例子”很可能是讨论如何在Android和iOS平台上实现Base64的编码和解码,并且可能涉及到了Java本地接口(JNI)的使用。 在Android中,Base64的编码和解码...
在iOS中,可以使用`NSData`类的`base64EncodedStringWithOptions:`方法进行Base64编码,而`initWithBase64EncodedString:options:`方法则用于解码。 在实际应用中,RSA和Base64常结合使用。例如,服务器可能会提供...
例如,在Java中,可以使用`java.security.Key`和`javax.crypto.Cipher`来处理DES加密,而`java.util.Base64`类则提供了Base64编码和解码的功能。在Android中,这些API同样可用,但在较旧的版本中可能需要依赖额外的...
在iPhone开发中很多时候都需要将数据进行Base64编解码。 在一些大项目中,就需要将通过RSA加密算法加密后的数据进行Base64编码, 然后再通过网络将iPhone端的数据传送到服务器端, 服务器端收到数据后再进行解码,...
Base64转码,AES加密解密,IOS,Android,Java 后台。...1.先用AES 对数据进行加密,然后用Base64进行转码。 2.利用AES加密后,通过密匙可以在网页中进行解密。 在线解密网址:http://www.seacha.com/tools/aes.html
在iOS中,我们可以使用`NSData`类的`dataWithBase64EncodedString:`方法将Base64字符串解码为原始数据,以及`base64EncodedStringWithOptions:`方法将原始数据编码为Base64字符串。以下是一段简单的示例代码: ```...
在提供的文件列表中,"base64位"可能是包含C++实现Base64编码解码功能的源代码文件。如果你需要深入理解或使用这些代码,建议打开文件查看具体的实现细节,并根据项目需求进行适当的修改和优化。
在实际应用中,首先使用`DESCrypt`类对需要加密的数据进行DES加密,然后使用`GTMBase64`进行Base64编码,这样得到的结果就可以安全地在不同平台间传递。在接收端,先通过Base64解码恢复原始的加密数据,再用相同的...
Base64是一种在互联网上...总之,Base64在iOS和OSX开发中扮演着重要的角色,无论是在网络通信、数据存储还是跨平台交互中都有广泛应用。理解并熟练使用Base64编码和解码技术,对于提升应用的安全性和用户体验至关重要。
在iOS中,可以使用`NSData`的`base64EncodedStringWithOptions:`方法进行Base64编码,`init(base64EncodedString:options:)`方法进行解码。Base64编码不会增加数据的安全性,但可以使数据更易于在纯文本格式中传递。...
在iOS开发中,苹果的Foundation框架提供了一个叫做`NSData+Base64`的类别,用于实现Base64编码和解码。这个类别在iOS 7及以上版本是可用的,对于更早的版本,开发者需要引入第三方库,如`SSKeychain`或`Base64`等。 ...
本篇文章将深入探讨如何在iOS上使用Cocos2d对Tiled地图数据进行Base64解密。 首先,我们需要了解Base64编码。Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,通常用于在网络上传输非ASCII字符。当Tiled...
在iOS中,可以使用Foundation框架的`NSData+Base64`类别或者Swift的标准库来实现Base64编码和解码。Base64编码主要用于在网络上传输非ASCII字符,例如在电子邮件或HTTP头部。编码后,原本的二进制数据会变为75%左右...
1. **Base64解码**:由于音频文件是Base64编码的,首先我们需要在前端JavaScript环境中进行解码。可以使用JavaScript的`atob()`函数来完成这个任务,但需要注意的是,`atob()`只能处理小段数据,对于大文件,我们...
在iOS中,`Data`对象可以使用`Data.base64EncodedString()`方法编码为Base64字符串,而`Data.init(base64Encoded:)`则可以将Base64字符串解码回原始数据。Base64通常用于在网络上传输二进制数据,因为大多数协议只...
综上所述,"Base64Decoder.zip"可能包含的资源对于理解并实现iOS激光扫地机地图功能至关重要,它涉及到了Base64编码与解码的原理,以及iOS开发中的地图、定位和移动设备数据处理等多个重要知识点。开发者可以通过...
本文将深入探讨Objective-C中如何对NSString进行Base64的编码与解码。 首先,我们需要理解Base64的工作原理。Base64编码将每3个字节(24位)的数据转换为4个Base64字符(64个字符中的任意一个,包括大小写字母、...