NSUrl은 중국어 인코딩도 있어요.

1412 단어
[NSURLURLWithString:urlString] URL 대상을 생성할 때 iOS 클라이언트가 네트워크 요청을 정확하게 할 수 없고 인터넷에서 찾은 URLEncode 방법도 문제를 완전히 해결할 수 없다.방법1:
NSString* encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

방법2:
NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)urlString,NULL,NULL,kCFStringEncodingUTF8);

이 두 가지 방법은 urlString에 중국어가 포함되어 있을 때 URL 인코딩이 정확하지만, 이미 전의된% 등의 기호가 포함되어 있을 때 다시 전의하여 오류가 발생할 수 있습니다.
그래서 다음과 같은 방법을 추천합니다.
+ (NSString *)encodeUrlStr:(NSString *)urlStr{
    NSString *encodedString = (NSString *)
    
    CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                              
                                                              (CFStringRef)urlStr,
                                                              
                                                              (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",
                                                              
                                                              NULL,
                                                              
                                                              kCFStringEncodingUTF8));

    return encodedString;
}

좋은 웹페이지 즐겨찾기