gpt4 book ai didi

ios - 具有特殊字符的 NSURL 编码

转载 作者:行者123 更新时间:2023-11-28 22:07:33 24 4
gpt4 key购买 nike

我正在尝试使用 NSURL 向以下对象提交请求:

http://api.allsaints.com/v1/product/?category=Women针织品

将此 URL 放入带有 ' 和空格的浏览器中时,浏览器 (chrome) 将请求修改为:

http://api.allsaints.com/v1/product/?category=Women%27s%20Knitwear哪个有效。

但是,我无法在 iOS 上获得正确的编码作为 NSURL 和 NSDATA 请求的一部分。我尝试使用 stringByAddingPercentEscapesUsingEncoding 进行各种编码以规范化 URL,但它一直失败。

有人能给我指明正确的编码方向吗?这种编码不仅可以将空格交换为 %20,还可以将 ' 交换为 %27?

最佳答案

引用 NSString stringByAddingPercentEscapesUsingEncoding: 你应该使用 CFURLCreateStringByAddingPercentEscapes 来自定义你想要转义的字符。

- (NSString *) urlencodeStr:(NSString *)str
{
return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
NULL,
(__bridge CFStringRef) str,
NULL,
CFSTR("!*'();:@+$,/?%#[]"),
kCFStringEncodingUTF8));
}

CFSTR("!*'();:@+$,/?%#[]") 包含的字符将被转义。

关于ios - 具有特殊字符的 NSURL 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23587825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com