iOS 문자열 공통 인코딩 상호 변환

1909 단어 iOS 개발
일상적인 인터넷 요청에서 URL에 한자 내용이 있는 것은 불가피하다. 상응하는 처리를 하지 않고 문자열을 URL로 변환하여 불러오는 것은 문제가 있다. 문자 인코딩의 기본 지식은 여기 유니코드와 UTF-8 상호전환(C 언어 실현)을 참고하고 몇 가지 자주 사용하는 변환 방법의 코드를 다음과 같이 정리한다.온라인으로 변환된 웹 페이지 {여기 전송문}을 추천합니다.
///    UTF8   
    NSString* strA = [@"%E4%B8%AD%E5%9B%BD" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *strB = [@"  " stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"%@",strA); //   
    NSLog(@"%@",strB); // %E4%B8%AD%E5%9B%BD
/// Unicode    
    NSString *content = @"\\u4e2d\\u56fd";
    content = [self replaceUnicode:content];
    NSLog(@"%@",content); //   
- (NSString *)replaceUnicode:(NSString *)unicodeStr {
    
    NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
    NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
    NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];
    NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
    NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData
                                                          mutabilityOption:NSPropertyListImmutable
                                                                    format:NULL
                                                          errorDescription:NULL];
    
    return [returnStr stringByReplacingOccurrencesOfString:@"\\r\
"withString:@"
"]; }

참고 문장
object-c에서 UTF-8과 GBK의 NSString을 서로 바꾸는 방법
http://www.cnblogs.com/langtianya/p/3889012.html
특수 문자 변환 URL 인코딩
http://blog.csdn.net/catandrat111/article/details/8533817

좋은 웹페이지 즐겨찾기