我调用api并获取包含NSDictionary中的android java unicode的字符串:
\ud83d\ude25\ud83d\ude1e\U2764\ud83d\ude2d
当获取上面的值并分配给字符串时,我只会得到字符串:\ud83d\ude25\ud83d\ude1e❤\ud83d\ude2d
我完全无法获得值\U2764,但得到值 ❤所以我不能将代码 \U2764 替换为 IOS unicode。
我怎样才能得到它\U2764?我转换为 UTF-8。
谢谢
编辑:
这是从 api (dic) 获取目录:
{
message = "ud83dude25ud83dude1eU2764ud83dude2d";
mesgid = "213133";
Thumbnail = "";
}
然后我收到消息,但 dic2 字符串仍然得到 \ud83d\ude25\ud83d\ude1e❤\ud83d\ude2d:
const char *cString = [[dic6 objectForKey:@"Message"] UTF8String];
NSString *dic2 = [[NSString alloc] initWithUTF8String:cString];
if ([dic2 rangeOfString:@"\U"].location==NSNotFound && [dic2 rangeOfString:@"\u"].location==NSNotFound)
{
NSLog(@"Substring Not Found");
}
else
{
NSLog(@"Substring Found");
}
我完全无法获得 unicode。为什么?
试试这个
NSString *uniString = [NSString stringWithUTF8String:@"ud83dude25ud83dude1e❤ud83dude2d
"];
希望这将解决您的问题
char cString[] = "ud83dude25ud83dude1eU2764ud83dude2d";
NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];