小编典典

Swift 2.1 [UInt8] --utf8->字符串?

swift

我知道Stack Overflow和其他地方都存在这样的问题。但是它似乎也发展了很多。

给定一个列表UInt8(基本上是一个swift字节数组),将其隐蔽到swift的最简单/惯用的方法是什么String

我对不使用NSData /
NSString的方法特别感兴趣,因为如果Santa将Swift带入Linux的世界,那么无疑将没有NS库,我想知道如何做到这一点。迅速。


阅读 379

收藏
2020-07-07

共1个答案

小编典典

let buffUInt8: Array<UInt8> = [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"

或者,您可以使用

String.fromCStringRepairingIllFormedUTF8(cs: UnsafePointer<CChar>) -> (String?, hadError: Bool)
2020-07-07