データをUInt8の配列に変換するには?Swift 3.0をデータに変換する<UInt8>
func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
print("recieved:\(data)")
let arr: [UInt8] = Data(???)???
}
受け取ったログ :70バイト
データをUInt8の配列に変換するには?Swift 3.0をデータに変換する<UInt8>
func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
print("recieved:\(data)")
let arr: [UInt8] = Data(???)???
}
受け取ったログ :70バイト
がそれを手に入れました!
var recived = [UInt8]()
func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
recived.removeAll()
print("recieved:\(data))")
recived.append(contentsOf: data)
}
使用withUnsafeBytes:スウィフト3では
let data = "ABCD".data(using: .ascii)!
data.withUnsafeBytes { (pointer: UnsafePointer<UInt8>) in
//Prints 67 which is the ASCII value of 'C'
print(pointer[2])
}
、UInt8
のCollection
としてData
作品なので、あなたは、単にArray.init
を使用することができます。
var recived: [UInt8] = []
func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
print("recieved:\(data))")
recived = Array(data)
}
しかし、Array.init
(またはArray.append(contentsOf:)
)コピーData
の内容なので、あなたがData
の巨大なサイズで作業する必要がある場合、それは効率的ではありません。