2013-10-17 27 views
0

我打電話API和得到字符串,其中包括在NSDictionary的Android的Java的統一:繪文字的Unicode的IOS

\ ud83d \ ude25 \ ud83d \ ude1e \ U2764 \ ud83d \ ude2d

時,你得到的價值以上並分配到字符串,我只是將得到的字符串爲: \ ud83d \ ude25 \ ud83d \ude1e❤\ ud83d \ ude2d

我完全不能獲得價值\ U2764,但得到的值❤ 這樣我就可以不要將代碼\ U2764替換爲IOS unicode。

我怎樣才能得到它\ U2764?我轉換成UTF-8。

感謝

編輯:

這是得到API目錄(DIC):

{

message = "\ud83d\ude25\ud83d\ude1e\U2764\ud83d\ude2d"; 
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。 爲什麼?

回答

0

試試這個

NSString *uniString = [NSString stringWithUTF8String:@"\ud83d\ude25\ud83d\ude1e❤\ud83d\ude2d 

「];

+0

仍然不能得到unicode的,爲什麼 – user831098

+0

可以粘貼確切的字符串這裏 – Rocker

+0

?我編輯了這個問題並添加了一些細節。 – user831098

0

希望這將解決您的問題

char cString[] = "\ud83d\ude25\ud83d\ude1e\U2764\ud83d\ude2d"; 
    NSData *data = [NSData dataWithBytes:cString length:strlen(cString)]; 
    NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
+0

對不起,我試過這個,仍然無法得到它。 – user831098