我想将[String]转换为NSData以进行BLE连接。如何将字符串数组转换为NSData,将NSData转换为字符串数组?
我知道如何将字符串转换为NSData/NSData为字符串。
// String -> NSData
var str: String = "Apple";
let data: NSData = str.dataUsingEncoding(NSUTF8StringEncoding)!
// NSData -> String
var outStr: String = NSString(data:data, encoding:NSUTF8StringEncoding) as! String
但是,我怎么能转换,,
// [String] -> NSData ???
let strs: [String] = ["Apple", "Orange"]
这是转换[UINT8] <的样品 - > NSData的 https://gist.github.com/nolili/2bf1a701df1015ed6488
我想转换[字符串] < - > NSData
// [String] -> NSData ??? Is it correct???
var strs: [String] = ["Apple", "Orange"]
let data2 = NSData(bytes: &strs, length: strs.count)
// NSData -> [String] ... please teach me..
谢谢您的回复,对不起,我的延迟回复...我想通过BLE连接将[String]发送到其他设备。当我们通过BLE发送一些东西时,我们使用“writeValue”方法。 peripherl.writeValue(数据:NSData,forCharacteristic:特征,类型:*响应类型*)。 – ketancho
我使用NSKeyedUnarchiver,它的工作原理!非常感谢你。但是,我不知道这是通过BLE连接发送消息时转换NSData的最佳方式。 – ketancho
这仍然不能回答我的问题。 BLE设备处理这些数据的确切原因是什么?你使用这些字符串作为数据的编程环境/语言/设备是什么?这是我们需要知道的重要信息,甚至可以确定如何以您可以使用的方式回答您的问题。 –