我需要对emojis进行编码/解码,我正在使用此代码
var encodeEmoji: String{
if let encodeStr = NSString(cString: self.cString(using: .nonLossyASCII)!, encoding: String.Encoding.utf8.rawValue){
return encodeStr as String
}
return self
}
对于表情符号一切都很好,但是当我编写重音字母(æ,ø,å)时,我有类似 \ 346,\ 370,\ 345 任何人都可以帮助避免转换重音字母,或说,我做错了什么。提前致谢!
答案 0 :(得分:1)
一种方法是分别编码每个字符,检测Emojis:
library(raster)
#simulating missing values
tg<-matrix(1:15,nrow=3)
tg[2,3]<-NA
tg[1,5]<-NA
#rasterize
tg_raster<-raster(tg)
#normal plot
plot(tg_raster)
#replace NAs with blue color
plot(tg_raster,colNA="blue")
使用this answer中的let testString = "abcdřšá"
let encoded = testString.unicodeScalars
.map {
guard $0.isEmoji else { return String($0) }
let data = String($0).data(using: .nonLossyASCII, allowLossyConversion: true)!
return String(data: data, encoding: .ascii)!
}.joined()
print(encoded) // abcdřšá\ud83d\ude03\ud83d\ude03\ud83d\ude03
方法。