【发布时间】:2020-07-10 21:59:53
【问题描述】:
我已使用以下代码对具有表情符号的字符串进行编码/解码。
extension String {
func encodeEmoji() -> String {
let data = self.data(using: .nonLossyASCII, allowLossyConversion: true)!
return String(data: data, encoding: .utf8)!
}
func decodeEmoji() -> String? {
let data = self.data(using: .utf8)!
return String(data: data, encoding: .nonLossyASCII)
}
}
我在下面这样调用了这个函数。转换了“用户”模型中的响应。
let user = User() // Loaded API's response in this model
let textWithEmoji = user.aboutMe.decodeEmoji() //Here, I am getting the string as the same as before decoding
lblAboutMe.text = textWithEmoji
以下是未解码的编码字符串:
“我也爱...\n\u2705 笑\uD83D\uDE02\n\u2705 看小说\uD83D\uDCDA\n\u2705 看电影\uD83C\uDFAC\n\u2705 骑自行车\uD83D\ uDEB5\uD83C\uDFFD\u200D\u2640\uFE0F\n\u2705 去长途散步\uD83D\uDEB6\uD83C\uDFFD\u200D\u2640\uFE0F\n\u2705 厨师\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C \uDF73\n\u2705 旅行 \uD83C\uDDEA\uD83C\uDDFA\uD83C\uDDEE\uD83C\uDDF3\uD83C\uDDEC\uD83C\uDDE7\n\u2705 吃 \uD83C\uDF2E\uD83C\uDF5F\uD83C\uDF73\n \u2705 玩棋盘游戏 \u265F\n\u2705 去剧院 \uD83C\uDFAD\n我最喜欢的季节是秋天 \uD83C\uDF42,我喜欢超级英雄电影 \uD83E\uDDB8\u200D\u2642\uFE0F 圣诞节是最美妙的一年中的时间!\uD83C\uDF84"
【问题讨论】:
-
这能回答你的问题吗? Swift Encode/decode emojis
-
不,我已经检查了这篇文章,但没有找到解决方案。
-
那么您能解释一下“未解码的编码字符串”是什么意思吗?你什么都没有看到,还是你看到垃圾?
-
解码文本后得到的只是相同的字符串。
-
请在您的问题中添加更多代码作为minimal reproducible example 您如何调用解码函数。
标签: ios swift decode encode emoji