美文网首页杏仁丶的iOS学习专题
iOS Url特殊符号编码问题

iOS Url特殊符号编码问题

作者: _浅墨_ | 来源:发表于2015-11-02 10:08 被阅读842次

开发中曾遇到棘手无法解决的问题,当时传输参数给后台,后台总是解析失败。问题一直未解,最后还是换了其它方法曲线解困了。现在觉得应该是这个问题,url中带了&这个特殊符号,单单使用encodeBase64、decodeBase64不行,还要使用encodeToPercentEscapeString这个处理一下。encodeBase64、decodeBase64对汉字和空格进行编码,但不对特殊符号(&等)编码。

url中是key value键值对,根据&进行分割多个key value,所以如果url像这样
@"http://127.0.0.1/php/login.php?username=chang&123&password=admin",
用户名解析的是username为chang而不是chang&123。使用encodeToPercentEscapeString处理后,不会出现这样问题。

//base64编码 "加密"---  可以把任意的二进制数据 转化成字符串  方便在网络上传输
- (NSString *)encodeBase64:(NSString *)str{
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    
    return [data base64EncodedStringWithOptions:0];
}
//base64解码 "解密"
- (NSString *)decodeBase64:(NSString *)base64Str{
    NSData *data = [[NSData alloc] initWithBase64EncodedString:base64Str options:0];
    
    return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
//进行url编码 (但是不对汉字和空格进行编码)
- (NSString *)encodeToPercentEscapeString: (NSString *) input
{
    NSString *outputStr = (NSString *) CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)input,NULL,(CFStringRef)@"!*'();:@&=+ $,/?%#[]",kCFStringEncodingUTF8));
    return outputStr;
}

相关文章

  • iOS Url特殊符号编码问题

    原文参考:iOS Url特殊符号编码问题 当时传输参数给后台,后台总是解析失败。错误信息: 可以看到就是因为,请求...

  • iOS Url特殊符号编码问题

    开发中曾遇到棘手无法解决的问题,当时传输参数给后台,后台总是解析失败。问题一直未解,最后还是换了其它方法曲线解困了...

  • Java代码处理URL转码

    一、URL特殊符号及对应的编码 二、解码代码

  • url编码

    为什么要进行URL编码 编码是对url中的中文和特殊符号进行编码。对url编码其实就是对一些特殊字符进行使用utf...

  • URL合法化

    URL合法化 iOS开发过程中,网络数据请求中带有汉字或者特殊符号需要经过编码处理,使得URL合法化之后才能进行网...

  • iOS URL编码

    参考 全面深度解析iOS端URL编码和解码过程 iOS中URL编码那些事

  • iOS URL编码 AFNetworking

    iOS URL编码

  • iOS URL安全的Base64编码、解码

    参考iOS开发探索-Base64编码iOS URL编码&base64编码URL安全的Base64编码,解码 为什么...

  • 全面深度解析iOS端URL编码和解码过程

    全面深度解析iOS端URL编码和解码过程全面深度解析iOS端URL编码和解码过程

  • 网络请求中为什么会有%2F、%3F这样的符号

    因为有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:...

网友评论

    本文标题:iOS Url特殊符号编码问题

    本文链接:https://www.haomeiwen.com/subject/kerqhttx.html