我想將[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設備處理這些數據的確切原因是什麼?你使用這些字符串作爲數據的編程環境/語言/設備是什麼?這是我們需要知道的重要信息,甚至可以確定如何以您可以使用的方式回答您的問題。 –