gpt4 book ai didi

ios - url编码错误

转载 作者:行者123 更新时间:2023-11-29 04:09:07 26 4
gpt4 key购买 nike

我有这个网址:http://google.com我用这个对其进行urlencode:

NSArray *escapeChars = [NSArray arrayWithObjects:@";" , @"/" , @"?" , @":" ,
@"@" , @"&" , @"=" , @"+" ,
@"$" , @"," , @"[" , @"]",
@"#", @"!", @"'", @"(",
@")", @"*", nil];
NSArray *replaceChars = [NSArray arrayWithObjects:@"%3B" , @"%2F" , @"%3F" ,
@"%3A" , @"%40" , @"%26" ,
@"%3D" , @"%2B" , @"%24" ,
@"%2C" , @"%5B" , @"%5D",
@"%23", @"%21", @"%27",
@"%28", @"%29", @"%2A", nil];
int len = [escapeChars count];
NSMutableString *temp = url;
int i;
for(i = 0; i < len; i++)
{
[temp replaceOccurrencesOfString: [escapeChars objectAtIndex:i] withString:[replaceChars objectAtIndex:i] options:NSLiteralSearch range:NSMakeRange(0, [temp length])];
}
return temp;

这是我得到的编码字符串:http0X1.D49C41C5D49CP-5700.0000000.000000google.com

怎么会发生这种事?

最佳答案

这是 URL 编码的类别:

NSString+URLEncoding.h

#import <Foundation/Foundation.h>

@interface NSString (URLEncoding)
- (NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding;
@end

NSString+URLEncoding.m

#import "NSString+URLEncoding.h"

@implementation NSString (URLEncoding)

- (NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding {
return (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
CFStringConvertNSStringEncodingToEncoding(encoding));
}
@end

用法:

NSString *urlText = @"http://google.com";
NSString *encodedUrlText = [urlText urlEncodeUsingEncoding:NSUTF8StringEncoding];

关于ios - url编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14689023/

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