Swift4, Printing Emojis

Arthur Wang 的泡面番
1 min readAug 8, 2018

--

Just record a result of a discussion with my buddies. Handling emoji is really a pain in axx.

func printEmoji(_ charStrings: [String]) {
let result = charStrings.compactMap{ unicodeScalar($0) }
.map { String($0) }
.joined()
print(result)
}
func unicodeScalar(_ charAsString: String) -> UnicodeScalar? {
if let charCode = UInt32(charAsString, radix: 16), // convert to 0x1F604
let unicode = UnicodeScalar(charCode) { // convert to unicode scalar
return unicode
}
return nil
}

let emoji1 = ["1F604"]
let emoji2 = ["0031", "FE0F", "20E3"]
let emoji3 = ["2695"]
let emoji4 = ["1F9B8", "1F3FF", "200D", "2642", "FE0F"]
printEmoji(emoji1)
printEmoji(emoji2)
printEmoji(emoji3)
printEmoji(emoji4)

--

--