gpt4 book ai didi

ios - 如何在 swift 中使用 BLOB 将字节数组 [UInt8] 存储和检索到 sqlite3 数据库中?

转载 作者:可可西里 更新时间:2023-11-01 02:16:59 25 4
gpt4 key购买 nike

let arr: [UInt8] =  [0x14, 0x00, 0xAB, 0x45, 0x49, 0x1F, 0xEF, 0x15, 0xA8, 0x89, 0x78, 0x0F, 0x09, 0xA9, 0x07, 0xB0, 0x01, 0x20, 0x01, 0x4E, 0x38, 0x32, 0x35, 0x56, 0x20, 0x20, 0x20, 0x00]

我如何存储在 sqlite3NSUserDefaults

我试过这样

 let arrData = NSData(bytes: &arr, length: (arr?.count)!)

let d = NSUserDefaults.standardUserDefaults()
d.setObject(arrData, forKey: "mydata")
d.synchronize()

let obj = d.objectForKey("mydata")
let objData = obj as! NSData
let resultArr = NSKeyedUnarchiver.unarchiveObjectWithData(objData) as! [UInt8]
print(resultArr.count)

最佳答案

对于 NSUserDefaults:

let integersToStore: [UInt8] = [0x14, 0x00, 0xAB, 0x45, 0x49, 0x1F, 0xEF, 0x15, 0xA8, 0x89, 0x78, 0x0F, 0x09, 0xA9, 0x07, 0xB0, 0x01, 0x20, 0x01, 0x4E, 0x38, 0x32, 0x35, 0x56, 0x20, 0x20, 0x20, 0x00]

let dataToStore = NSData(bytes: integersToStore, length: integersToStore.count)

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(dataToStore, forKey: "mydata")
defaults.synchronize()

// get the data we stored in NSUserDefaults
if let readData = defaults.dataForKey("mydata") {

// determine the number of UInt8 to read from this data
let count = readData.length / sizeof(UInt8)

// create a new UInt8 array with the correct count
var readArray = [UInt8](count: count, repeatedValue: 0)

// copy data into array
readData.getBytes(&readArray, length: count * sizeof(UInt8))

// readArray has what you need
print(readArray)
}

注意:在 playground 中测试时,不要指望得到正确的结果。

关于ios - 如何在 swift 中使用 BLOB 将字节数组 [UInt8] 存储和检索到 sqlite3 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37026262/

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