2017-05-24 5 views
1

emojis를 포함 할 수있는 NSString을 내 백엔드로 보내야합니다. 이 응용 프로그램의 안드로이드 버전 작업 녀석이 사용하는 형식은 '\\ ud83d \\ udcfb', 그래서 인코딩하고있어 내 텍스트와 그림 이모티콘을 보내는 :백엔드로 이모티콘 보내기 및 되찾기

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

문제입니다 때 I 백엔드에서 다시 가져 오는 중, 'ud83dudcfb'와 같은 것을 얻은 다음 이모티콘으로 다시 변환 할 수 없습니다.

안드로이드 남자가 "\\\\ ud83d \\\\ udcf"와 같이 4 "\"를 보내야한다고 말하고 있지만 어떻게해야할지 모르겠다.

각 코드 앞에 두 개의 백 슬래시를 추가하는 루프를 만들면 좋은 해결책이라고 생각하지 않습니다.

아이디어가 있으십니까?

답변

0

유니 코드로 이모티콘을 변환하려면 -

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

유니 코드는 그림 이모티콘으로 변환 -

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

희망이

+0

내가 같은 문제가 있습니다 : 데이터가 서버로 제대로 전송됩니다, 하지만 다시 가져 오면 다음과 같이 보입니다. @ "일부 emojis ... u2764ufe0fud83dude48", 이모티콘 변환기의 유니 코드는 변환 할 것이 없습니다. – Aleph72

+0

서버에 저장된 문자열이 보낸 문자열과 일치하는지 확인해야합니다. 이 문자열에서 u2764ufe0fud83dude48 어떻게 "\"사용자가 일반 문자열로 입력 할 수 추가 할 수 있습니다. – CST

+0

그것이 문제입니다. 이유는 모르겠지만 서버가 백 슬래시를 제거합니다. 문자열을 서버에 보내기 전에 두 개 더 추가해야했지만 코드를 사용하여 텍스트를 디코딩 했으므로 답변을 수락 할 것입니다. 고맙습니다. – Aleph72