gpt4 book ai didi

iOS:NSASCIIStringEncoding 无法正确编码某些字符

转载 作者:行者123 更新时间:2023-11-29 02:41:42 27 4
gpt4 key购买 nike

我有一个 url,我要从中请求数据。这是代码。

 urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:
NSASCIIStringEncoding];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlStr]];

除非我有某些字符,例如 ş,否则这会起作用。 urlstr 将返回 null。有没有办法解决这个问题,除了某些字符类型?任何提示或建议表示赞赏。

最佳答案

我已经在许多应用中成功地使用了以下方法:

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

请注意,我仅在 URL 的参数上使用它,因此以下内容可以工作(注意我添加了 ş,它似乎可以工作,尽管我不熟悉该字符) :

NSString *baseURL = @"http://www.google.com";
NSString *paramsString = @"testKey=test value_with some (weirdness)!___ş";
NSString *resultingURLString = [NSString stringWithFormat:@"%@?%@", baseURL, [self urlEncode:paramsString]];

产生结果:

http://www.google.com?testKey%3Dtest%20value_with%20some%20%28weirdness%29%21___%C5%9F

关于iOS:NSASCIIStringEncoding 无法正确编码某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25693758/

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