gpt4 book ai didi

ios - swift 3 : How to convert byte array into Data?

转载 作者:行者123 更新时间:2023-11-28 12:38:33 24 4
gpt4 key购买 nike

我知道如何将int值转换成数据

let value: NSInteger = 1
let valueData:Data = Data(buffer: UnsafeBufferPointer(start: &intVal, count: 1))

现在我想对用以下方式表示的 RGB 颜色做同样的事情 0xRRGGBB

我怎样才能实现它?我应该把它写成字符串吗? “543621”,然后转成byte数组再转成Data?

最佳答案

似乎将颜色存储为 UInt32 实例是合适的,在这种情况下,您已经发布了一个从中初始化 Data 实例的方法

var pink: UInt32 = 0xCC6699

let pinkData = Data(buffer: UnsafeBufferPointer(start: &pink, count: 1))
print(pinkData.map {$0}) // [153, 102, 204, 0]

print(0x99, 0x66, 0xCC) // 153 102 204

正如 MartinR 在下面的评论中指出的那样,为了确保十六进制数表示 0xCC6699 存储在其小端表示中(即使对于采用大端主机字节顺序的系统), pink 变量应初始化为:

var pink = UInt32(0xCC6699).littleEndian

// or ...
var pink = UInt32(littleEndian: 0xCC6699)

关于ios - swift 3 : How to convert byte array into Data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40155083/

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