I know questions like this exist on both Stack Overflow and elsewhere. But it seems to have evolved a lot as well.
Given a list of UInt8 (a swift byte a
let buffUInt8: Array = [97, 98, 115, 100, 114, 102, 103, 104, 0]
// you need Int8 array
let buffInt8 = buffUInt8.map{ Int8(bitPattern: $0)}
let str = String.fromCString(buffInt8) // "absdrfgh"
alternatively you can use
String.fromCStringRepairingIllFormedUTF8(cs: UnsafePointer) -> (String?, hadError: Bool)