在 ios 默认键盘的标签中使用表情符号
use emoji in label from ios default keyboard
我想使用来自 iOS 默认键盘的文本输入和表情符号并将其发送到服务器并将该文本显示到标签但我无法显示 emojis.it 仅显示文本而不显示表情符号.
如果我在本地进行,它会显示表情符号。
self.labelName.text = TextFiled.text
输出:"test "
但是当我将它发送到服务器并从 api 接收时,表情符号消失了。
输出:"test"
请不要无故否决我的问题
向服务器发送数据时使用此方法。
let data1 = txtMessage.text.dataUsingEncoding(NSNonLossyASCIIStringEncoding)!
let finalmessage = String(data: data1, encoding: NSUTF8StringEncoding)
当您在设置标签之前从服务器获得响应时使用此方法。
let trimmedString = YOURSERVER_RESPONSE_STRING.stringByTrimmingCharactersInSet(
NSCharacterSet.whitespaceAndNewlineCharacterSet())
let data2 = trimmedString.dataUsingEncoding(NSUTF8StringEncoding)!
let messagestring = String(data: data2, encoding: NSNonLossyASCIIStringEncoding)
YOURLABEL.text = messagestring as String
试试这个解决你的问题。
Swift 3.0扩展方案:
发送到服务器时,您需要在 iOS 端对表情符号进行编码和解码。您可以按照下面的方式进行。
extension String {
func encodeChatString() -> String? {
if let encodedTextData = self.data(using: .nonLossyASCII) {
return String(data: encodedTextData, encoding: .utf8)
}
return nil
}
func decodeChatString() -> String? {
let trimmedString = self.trimmingCharacters(in: .whitespacesAndNewlines)
if let stringData = trimmedString.data(using: .utf8) {
let messageString = String(data: stringData, encoding: .nonLossyASCII)
return messageString
}
return nil
}
}
当您发送消息时编码字符串如下:
message.encodeChatString()
当您收到如下消息解码字符串时:
message.decodeChatString()
我想使用来自 iOS 默认键盘的文本输入和表情符号并将其发送到服务器并将该文本显示到标签但我无法显示 emojis.it 仅显示文本而不显示表情符号. 如果我在本地进行,它会显示表情符号。
self.labelName.text = TextFiled.text
输出:"test "
但是当我将它发送到服务器并从 api 接收时,表情符号消失了。 输出:"test"
请不要无故否决我的问题
向服务器发送数据时使用此方法。
let data1 = txtMessage.text.dataUsingEncoding(NSNonLossyASCIIStringEncoding)!
let finalmessage = String(data: data1, encoding: NSUTF8StringEncoding)
当您在设置标签之前从服务器获得响应时使用此方法。
let trimmedString = YOURSERVER_RESPONSE_STRING.stringByTrimmingCharactersInSet(
NSCharacterSet.whitespaceAndNewlineCharacterSet())
let data2 = trimmedString.dataUsingEncoding(NSUTF8StringEncoding)!
let messagestring = String(data: data2, encoding: NSNonLossyASCIIStringEncoding)
YOURLABEL.text = messagestring as String
试试这个解决你的问题。
Swift 3.0扩展方案:
发送到服务器时,您需要在 iOS 端对表情符号进行编码和解码。您可以按照下面的方式进行。
extension String {
func encodeChatString() -> String? {
if let encodedTextData = self.data(using: .nonLossyASCII) {
return String(data: encodedTextData, encoding: .utf8)
}
return nil
}
func decodeChatString() -> String? {
let trimmedString = self.trimmingCharacters(in: .whitespacesAndNewlines)
if let stringData = trimmedString.data(using: .utf8) {
let messageString = String(data: stringData, encoding: .nonLossyASCII)
return messageString
}
return nil
}
}
当您发送消息时编码字符串如下:
message.encodeChatString()
当您收到如下消息解码字符串时:
message.decodeChatString()