`
thierry.xing
  • 浏览: 665080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
580fa9c1-4a0c-3f40-a55a-c9256ce73302
Sencha Touch中...
浏览量:0
社区版块
存档分类
最新评论

在ios中对gbk进行base64解码

    博客分类:
  • iOS
阅读更多

如何在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]);

 搞定!

 

2
0
分享到:
评论

相关推荐

    IOS图片BASE64编码解码

    在iOS开发中,图片的BASE64编码与解码是一种常见的数据处理技术,它涉及到字符串与二进制数据之间的转换。BASE64是一种用于将任意二进制数据转化为ASCII字符编码的方法,通常用于在网络上传输非ASCII字符或者作为...

    IOS-图片编码-Base64-例子

    在"IOS-图片编码-Base64-例子"这个主题中,我们将深入探讨如何在iOS应用中实现Base64编码和解码图片。 首先,我们要了解Base64的基本原理。Base64使用的字符集包括大小写字母(A-Z, a-z)、数字(0-9)以及两个特殊...

    Base64编解码Android和ios的例子,补充JNI中的例子

    这篇博客文章“Base64编解码Android和ios的例子,补充JNI中的例子”很可能是讨论如何在Android和iOS平台上实现Base64的编码和解码,并且可能涉及到了Java本地接口(JNI)的使用。 在Android中,Base64的编码和解码...

    iOS RSA 加密和Base64

    在iOS中,可以使用`NSData`类的`base64EncodedStringWithOptions:`方法进行Base64编码,而`initWithBase64EncodedString:options:`方法则用于解码。 在实际应用中,RSA和Base64常结合使用。例如,服务器可能会提供...

    android ios java后台通用DES base64加密

    例如,在Java中,可以使用`java.security.Key`和`javax.crypto.Cipher`来处理DES加密,而`java.util.Base64`类则提供了Base64编码和解码的功能。在Android中,这些API同样可用,但在较旧的版本中可能需要依赖额外的...

    iOS开发网络篇之Base64编解码

    在iPhone开发中很多时候都需要将数据进行Base64编解码。 在一些大项目中,就需要将通过RSA加密算法加密后的数据进行Base64编码, 然后再通过网络将iPhone端的数据传送到服务器端, 服务器端收到数据后再进行解码,...

    Base64转码,AES加密解密,IOS,Android,Java

    Base64转码,AES加密解密,IOS,Android,Java 后台。...1.先用AES 对数据进行加密,然后用Base64进行转码。 2.利用AES加密后,通过密匙可以在网页中进行解密。 在线解密网址:http://www.seacha.com/tools/aes.html

    ios中将base64将图片转码的demo

    在iOS中,我们可以使用`NSData`类的`dataWithBase64EncodedString:`方法将Base64字符串解码为原始数据,以及`base64EncodedStringWithOptions:`方法将原始数据编码为Base64字符串。以下是一段简单的示例代码: ```...

    base64编码解码c++

    在提供的文件列表中,"base64位"可能是包含C++实现Base64编码解码功能的源代码文件。如果你需要深入理解或使用这些代码,建议打开文件查看具体的实现细节,并根据项目需求进行适当的修改和优化。

    IOS下DES加解密,并Base64编码 ,和Android端统一

    在实际应用中,首先使用`DESCrypt`类对需要加密的数据进行DES加密,然后使用`GTMBase64`进行Base64编码,这样得到的结果就可以安全地在不同平台间传递。在接收端,先通过Base64解码恢复原始的加密数据,再用相同的...

    iOS&OSX; Base64加密解密

    Base64是一种在互联网上...总之,Base64在iOS和OSX开发中扮演着重要的角色,无论是在网络通信、数据存储还是跨平台交互中都有广泛应用。理解并熟练使用Base64编码和解码技术,对于提升应用的安全性和用户体验至关重要。

    iOS常用加密方法(aes、md5、base64)

    在iOS中,可以使用`NSData`的`base64EncodedStringWithOptions:`方法进行Base64编码,`init(base64EncodedString:options:)`方法进行解码。Base64编码不会增加数据的安全性,但可以使数据更易于在纯文本格式中传递。...

    IOS base64加密

    在iOS开发中,苹果的Foundation框架提供了一个叫做`NSData+Base64`的类别,用于实现Base64编码和解码。这个类别在iOS 7及以上版本是可用的,对于更早的版本,开发者需要引入第三方库,如`SSKeychain`或`Base64`等。 ...

    cocos2d tiled地图数据base64解密 iOS代码

    本篇文章将深入探讨如何在iOS上使用Cocos2d对Tiled地图数据进行Base64解密。 首先,我们需要了解Base64编码。Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,通常用于在网络上传输非ASCII字符。当Tiled...

    IOS加密代码 ase md5 base64

    在iOS中,可以使用Foundation框架的`NSData+Base64`类别或者Swift的标准库来实现Base64编码和解码。Base64编码主要用于在网络上传输非ASCII字符,例如在电子邮件或HTTP头部。编码后,原本的二进制数据会变为75%左右...

    实现base64格式的amr音频文件在android微信内置浏览器的播放

    1. **Base64解码**:由于音频文件是Base64编码的,首先我们需要在前端JavaScript环境中进行解码。可以使用JavaScript的`atob()`函数来完成这个任务,但需要注意的是,`atob()`只能处理小段数据,对于大文件,我们...

    swift-iOS数据安全--base64md5AESDESRSA

    在iOS中,`Data`对象可以使用`Data.base64EncodedString()`方法编码为Base64字符串,而`Data.init(base64Encoded:)`则可以将Base64字符串解码回原始数据。Base64通常用于在网络上传输二进制数据,因为大多数协议只...

    Base64Decoder.zip

    综上所述,"Base64Decoder.zip"可能包含的资源对于理解并实现iOS激光扫地机地图功能至关重要,它涉及到了Base64编码与解码的原理,以及iOS开发中的地图、定位和移动设备数据处理等多个重要知识点。开发者可以通过...

    Objective-c Base64 转码

    本文将深入探讨Objective-C中如何对NSString进行Base64的编码与解码。 首先,我们需要理解Base64的工作原理。Base64编码将每3个字节(24位)的数据转换为4个Base64字符(64个字符中的任意一个,包括大小写字母、...

Global site tag (gtag.js) - Google Analytics