2017-05-24 8 views
1

emojisを含むNSStringをバックエンドに送信してから戻す必要があります。 このアプリのAndroidのバージョンに取り組んで男形式で絵文字を送信している「\\ ud83d \\ udcfb」、私はこれを使用して私のテキストをコードしています:バックエンドにemojisを送信して戻す

NSString *uniText = [NSString stringWithCString:[textToEncode cStringUsingEncoding:NSNonLossyASCIIStringEncoding] encoding:NSUTF8StringEncoding]; 

問題はそのIでありますバックエンドから戻ってくると、「ud83dudcfb」のようなものが得られます。その後、私はそれを絵文字に変換することはできません。

Androidの男は、「\\\\ ud83d \\\\ udcf」のように4 "\"を送信する必要があると言いますが、どうやってそれを行うかわかりません。

各コードの前に2つのバックスラッシュを追加するループを作成するとよい解決策ではないと思います。

NSData *data = [text dataUsingEncoding:NSNonLossyASCIIStringEncoding]; 
NSString *Value = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

絵文字をUnicodeを変換するには - - unicodeに絵文字を変換するには

答えて

0

NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *Value = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding]; 

希望これは

+0

を助け、私は同じ問題を抱えている:データをサーバーに正しく送信され、しかし、私がそれを取り戻すと、それは次のようになります:@ "いくつかのemojis ... u2764ufe0fud83dude48"ので、emojiコンバータにユニコードは何も変換することはありません。 – Aleph72

+0

サーバーに保存された文字列が、送信した文字列と一致するかどうかを確認する必要があります。この文字列u2764ufe0fud83dude48ではどのように "\"を追加することができますか?これを平易な文字列として入力することもできます。 – CST

+0

それは問題です。なぜか分かりませんが、サーバーはバックスラッシュを取り除くだけです。文字列をサーバーに送信する前に、それらのうちのいくつかを追加する必要がありましたが、テキストをデコードするためにコードを使用しましたので、私はあなたの答えを受け入れるつもりです。ありがとうございました。 – Aleph72

関連する問題