我正在尝试将emojis保存到服务器以及以后接收它们。
我之前使用过以下代码
NSData *data = [strEmo dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData *data1 = [strEmo dataUsingEncoding:NSUTF8StringEncoding];
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];
它为表情符号生成Hashcode。但解码并不起作用。所以我跳过了使用此代码的想法。
然后我使用了第三方NSString + HTML.h类。哪个发送并轻松收到表情符号。但 现在的问题是,当我在显示数据的UI标签上有很多表情符号时,表情符号会被扭曲,如果我保存了20个表情符号,它只显示12-13。
我添加了Pic以供参考
其中黄色部分为UIlabel,背面为黄色
答案 0 :(得分:0)
Buddy为什么要连续两次更改Data中的字符串只需使用此
NSString *uniText = [NSString stringWithUTF8String:[strEmo UTF8String]];
NSData *msgData = [uniText dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *readyString = [[NSString alloc] initWithData:msgData encoding:NSUTF8StringEncoding];
首先将您的字符串转换为常量C字符,然后使用UTF8编码将其转换为字符串,现在使用NSData
编码将其转换为NSNonLossyASCIIStringEncoding
as(7位详细ASCII表示所有Unicode字符)然后再次使用unicode characters
准备发送字符串。希望这应该可行,因为它在我的代码中工作正常。