iOS NSString utf-8 Unicode互转

来源:互联网 发布:桃木剑淘宝 编辑:程序博客网 时间:2024/05/16 01:05

转自网友,收集起来,方便有需要的人。

utf-8转unicode:

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

{

   NSUInteger length = [stringlength];

    NSMutableString *s = [NSMutableStringstringWithCapacity:0];

    

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

    {

       unichar _char = [stringcharacterAtIndex:i];        

        //判断是否为英文和数字

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

        {            

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

        }

       elseif(_char >='a' && _char <='z')

        {            

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

        }

       elseif(_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"];

    

}



0 0
原创粉丝点击