iOS NSString utf-8 Unicode互轉

轉自網友,收集起來,方便有需要的人。

utf-8轉unicode:

-(NSString *) utf8ToUnicode:(NSString *)string

{

   NSUInteger length = [string length];

    NSMutableString *s = [NSMutableStringstringWithCapacity:0];

    

   for (int i =0;i < length; i++)

    {

       unichar _char = [string characterAtIndex:i];        

        //判斷是否爲英文和數字

       if (_char <= '9' && _char >='0')

        {            

            [s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];           

        }

       else if(_char >='a' && _char <='z')

        {            

            [s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];            

        }

       else if(_char >='A' && _char <='Z')

        {           

            [s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];            

        }

       else

        {

            [sappendFormat:@"\\u%x",[stringcharacterAtIndex:i]];

        }

    }

   return s;

}


unicode轉utf-8:

- (NSString*) replaceUnicode:(NSString*)aUnicodeString

{    

    NSString *tempStr1 = [aUnicodeStringstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];    

    NSString *tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];    

    NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];    

    NSData *tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding];

    

    NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData

                           

                                                         mutabilityOption:NSPropertyListImmutable

                           

                                                                   format:NULL

                           

                                                         errorDescription:NULL];

    

    return [returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];

    

}



發佈了34 篇原創文章 · 獲贊 8 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章