美文网首页iOS
unicode和中文的互相转化

unicode和中文的互相转化

作者: 无敌大闸蟹 | 来源:发表于2018-02-10 13:20 被阅读15次

    项目中有评论的功能,当评论中有表情的时候不能正常显示,就需要将上传的text转成unicode,然后显示的时候在转成utf-8   直接上代码
    中文转unicode:

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

    {

        NSUIntegerlength = [stringlength];

        NSMutableString *s = [NSMutableString stringWithCapacity:0];

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

        {

            unichar_char = [stringcharacterAtIndex:i];

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

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

            {

                [sappendFormat:@"%@",[string substringWithRange:NSMakeRange(i, 1)]];

            }

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

            {

                [sappendFormat:@"%@",[string substringWithRange:NSMakeRange(i, 1)]];

            }

            elseif(_char >='A'&& _char <='Z')

            {

                [sappendFormat:@"%@",[string substringWithRange:NSMakeRange(i, 1)]];

            }

            else

            {

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

            }

        }

        returns;

    }

    然后是unicode转中文:

    - (NSString*) replaceUnicode:(NSString*)TransformUnicodeString

    {

        NSString*tepStr1 = [TransformUnicodeString stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];

        NSString*tepStr2 = [tepStr1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];

        NSString*tepStr3 = [[@"\"" stringByAppendingString:tepStr2]stringByAppendingString:@"\""];

        NSData*tepData = [tepStr3 dataUsingEncoding:NSUTF8StringEncoding];

        NSString*axiba = [NSPropertyListSerialization  propertyListWithData:tepData options:NSPropertyListMutableContainers

                                                                       format:NULLerror:NULL];

        return [axiba    stringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];

    }

    相关文章

      网友评论

        本文标题:unicode和中文的互相转化

        本文链接:https://www.haomeiwen.com/subject/vwbctftx.html