base64解码 (含中文汉字)

使用第三方Base64解码(data中包含中文)

    NSString *result = [[NSString alloc] initWithData:responseObject  encoding:NSUTF8StringEncoding];
    NSStringEncoding gbkEncoding =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *jsonstring = [result base64DecodedString:gbkEncoding];
    //解析json数据
    NSData *jsondata = [jsonstring dataUsingEncoding:NSUTF8StringEncoding];
    NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsondata options:NSJSONReadingMutableContainers error:nil];
    NSString * tranErrorCode = [dic objectForKey:@"tranErrorCode"];

iOS7以后使用原生base64解码(data中包含中文)

    NSStringEncoding gbkEncoding1 =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *result1 = [[NSString alloc] initWithData:responseObject  encoding:NSUTF8StringEncoding];
    NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:result1 options:0];
    NSString *jsonstring = [[NSString alloc] initWithData:decodedData encoding:gbkEncoding1];
    //解析json
    NSData *jsondata = [jsonstring dataUsingEncoding:NSUTF8StringEncoding];
    NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsondata options:NSJSONReadingMutableContainers error:nil];

iOS7以后使用原生base64解码(data中不包含中文示例)

    // 字符串转Data
    NSString *str = @"encode string";
    
    // 字符串转成Data
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];// 13 bytes
    
    // 编码Data
    NSData *encodeData = [data base64EncodedDataWithOptions:0];// 20 bytes
    
    // 解码Data
    NSData *decodeData = [[NSData alloc] initWithBase64EncodedData:encodeData options:0];// 13 bytes
    
    // Data转字符串
    NSString *decodeStr = [[NSString alloc] initWithData:decodeData encoding:NSUTF8StringEncoding];
    
    NSLog(@"%@",decodeStr);// encode string
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容