1

我正在使用社交框架获取信息并获取 facebook 信息,当我使用另一种语言(即 Denis)获取用户名时,它会给我“\U00e6\U00f8\U00e5”之类的信息,如何将此字符串转换为可读字符串,即 Denis?

4

5 回答 5

0

尝试使用以下代码

你得到的字符串,

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

并使用此代码,

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

这对您的情况也可能有帮助。

于 2013-09-07T06:28:51.903 回答
0

我发现这个有用的解决方案可以解决我的问题。检查此链接

或者

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;
}
于 2013-09-07T07:02:14.223 回答
0

尝试:

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

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

NSLog(@"string: %@", string);
于 2013-09-07T07:05:47.553 回答
0

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

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

于 2013-09-07T06:26:20.877 回答
0

尝试这个

NSString *str = [NSString stringWithUTF8String:"\u00e6\u00f8\u00e5"];
NSLog(@"%@", str);
于 2013-09-07T06:36:53.557 回答