ben sunucudan böyle JSON alıyorum gelen çoklu karakter emoji oluşturmak için:nasıl ham onaltılık
{
"unicode":"1f468-1f468-1f467-1f467"
}
ve ben ekran ve/veya kopyalanmasına yönelik kompozit karakteri çevirmek gerekiyor karton:
çözüm şimdiye kadar bu SO question geliyor:
let u = json["unicode"] as? String
let dashless = u.characters.split{$0 == "-"}.map(String.init)
let charArray = dashless.map { char -> Character in
let code = Int(strtoul(char, nil, 16))
return Character(UnicodeScalar(code))
}
let unicode = String(charArray)
UIPasteboard.generalPasteboard().string = unicode
Bu harika işleri tek karakterli emoji tanımları için.
Ör ben ... Bu JSON ile yukarıda
{
"unicode":"1f4a9"
}
kod çalıştırmasına ... ve beklenen sonucu yapıştırabilirsiniz:. Ancak, daha önce listelenen mmgg
aile emoji ile yaptığımda, iOS'ta aşağıdakileri elde ederim: eksi boşluklar: . Sadece bir metin alanına yapıştırıldığında birleştirmek istemiyorlar.
Bu bir iOS hatası mı, yoksa yanlış bir şey mi yapıyorum?
Ah, harika! [Sıfır genişliği marangoz] (https://en.wikipedia.org/wiki/Zero-width_joiner) hakkında bilmiyordum. – clozach
Sizi rahatsız etmekten nefret ediyorum, ama bu çözüm ton değiştiricilerle emoji için çalışmıyor. Örneğin, bu JSON eller ve bir ton kare yerine sadece bir renk kare verir: 'let u =" 1f64c-1f3fd "'… – clozach
@clozach bunu (yazdırılabilir formda) emojiyi buraya koydu ... – user3441734