如何使用 BigEndian 将 Float 转换为 Data?

How to convert Float to Data with BigEndian?

我有:

Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { [=10=].pointee } ))

这段代码正在将数据转换为浮点数,但我想要它的反转,意思是将浮点数转换为数据。请指导我如何转换。

首先用 浮点数,然后从整数创建一个 Data 值 (如 中的示例所示):

let value = Float(42.13)
var u32be = value.bitPattern.bigEndian
let data = Data(buffer: UnsafeBufferPointer(start: &u32be, count: 1))
print(data as NSData) // <4228851f>

通过将结果转换回 Float:

来验证结果
let v = Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { [=11=].pointee } ))
print(v) // 42.13