Swift does not simplify the conversion between primitive and typed representations of things. Here's an extension that should help in the meantime:
extension Character { func utf8Value() -> UInt8 { for s in String(self).utf8 { return s } return 0 } func utf16Value() -> UInt16 { for s in String(self).utf16 { return s } return 0 } func unicodeValue() -> UInt32 { for s in String(self).unicodeScalars { return s.value } return 0 } }
This allows you to get closer to what you want:
let container : Array<Character> = [ "a", "b", "c", "d" ]
For any engineers who run into this issue, see rdar: // 17494834
source share