我试图将int16转换为[uint8]这样的:
var track:Int16 = 4
let trackData = Data(bytes: &track, count: 2)
但结果是
[4, 0]
我想知道是否有一种方法
[0, 4]
所以当我这样做时:
let value = Int16(bigEndian: trackData.withUnsafeBytes { $0.pointee })
我将获得 4 而不是 1024
它不是火箭科学,但是byteSwapped
可能会为您完成工作,例如:
let value = Int16(bigEndian: trackData.withUnsafeBytes { $0.pointee }).byteSwapped
在您的情况下会成为值4
的值。
注意:即使是Apple Docs也不会对此属性说太多(老实说,有点自我解释(,因此仅出于完成,byteSwapped
的参考就来了。