INT16到字节数组错误阵列订单Swift 4



我试图将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的参考就来了。

最新更新