从特殊字符转换字符串

时间:2013-09-07 06:11:07

标签: iphone ios objective-c nsstring nsstringencoding

我使用社交框架获取信息并获取Facebook信息,当我获得另一种语言的用户名,即Denis然后它给我像“\ U00e6 \ U00f8 \ U00e5”,如何转换此字符串可读的字符串,即丹尼斯?

5 个答案:

答案 0 :(得分:0)

我认为这些字符是Unicode字符,你可以尝试这样的东西将它们转换为UTF-8

http://effbot.org/zone/unicode-convert.htm

答案 1 :(得分:0)

尝试使用以下代码

你的字符串,

NSString *myStr = @".....;

并使用此代码,

const wchar_t *myResulr = (const wchar_t*)[myStr cStringUsingEncoding:NSUTF16StringEncoding];
NSLog(@"\n str2 = %S",myResulr);

这也可能是Helpful in your case.

答案 2 :(得分:0)

试试这个

NSString *str = [NSString stringWithUTF8String:"\u00e6\u00f8\u00e5"];
NSLog(@"%@", str);

答案 3 :(得分:0)

我为我的问题找到了这个有用的解决方案。 Check this link

OR

int main (int argc, const char * argv[])
{
    @autoreleasepool {
        NSString *name2escaped = @"\U00e6\U00f8\U00e5";
        NSString *name2 = [NSString
            stringWithCString:[name2escaped cStringUsingEncoding:NSUTF8StringEncoding]
            encoding:NSNonLossyASCIIStringEncoding];
        NSLog(@"name2 = %@", name2);
    }
    return 0;
}

答案 4 :(得分:0)

尝试:

NSString *str = @"\U00e6\U00f8\U00e5";

NSString *string = [NSString stringWithCString:[str UTF8String]  
                        encoding:NSUTF8StringEncoding];

NSLog(@"string: %@", string);