gpt4 book ai didi

swift - Swift 中 UInt8[4] 到 Int

转载 作者:行者123 更新时间:2023-11-30 13:51:59 25 4
gpt4 key购买 nike

我使用以下函数来实现 Int 到 UInt8[4] 转换器:

    func toByteArray(var value: Int) -> [UInt8] {
var msgLength = [UInt8](count: 4, repeatedValue: 0)

for i in 0...3 {
msgLength[i] = UInt8(0x0000FF & value >> Int((3 - i) * 8))
}
return msgLength
}

如何实现Int转UInt8[4]?

最佳答案

请参阅此答案:

How to convert a type to/from a byte array

func toByteArray( value: Int) -> [UInt8] {
var msgLength = [UInt8](count: 4, repeatedValue: 0)

for i in 0...3 {
msgLength[i] = UInt8(0x0000FF & value >> Int((3 - i) * 8))
}
return msgLength
}

// call your function to generate the byte array. Reverse the order
// since fromByteArray wants them in the reverse (little endian) order
let b = Array(toByteArray(1234567890).reverse())

func fromByteArray<T>(value: [UInt8], _: T.Type) -> T {
return value.withUnsafeBufferPointer {
return UnsafePointer<T>($0.baseAddress).memory
}
}

let i = fromByteArray(b, Int32.self)
print(i) // 1234567890

关于swift - Swift 中 UInt8[4] 到 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34147994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com