.
How can I extract the Unicode code point(s) of a given
Character
without first converting it to aString
?
Use this:
let example: Character = "πΊπΈ"
print(getUnicodeHexadecimalCodes(example)) // Prints: ["1F1FA", "1F1F8"]
func getUnicodeHexadecimalCodes(_ theCharacter: Character) -> [String] {
var dum: [String] = []
let dummer: String = "%04X" // Basic format string. Others: "U+%04X", or "\\u{%04X}".
theCharacter.unicodeScalars.forEach { dum.append(String(format: dummer, $0.value)) }
return dum
}
//
// Or in decimal format:
//
func getUnicodeDecimalCodes(_ character: Character) -> [UInt32] {
var dum: [UInt32] = []
character.unicodeScalars.forEach { dum.append($0.value) }
return dum
}
// π