我正在以TLV8格式编写HomeKit(也许是蓝牙)特性。苹果医生说



根据维基百科,类型长度值是



我不知道如何打包。我想我可以将原始字节写入NSData,但是如果需要填充,该如何为pad写什么呢?那么有一个如何做到这一点的示例吗?

最佳答案

哦,我想通了。
TLV8包含三个部分:“标签”,“长度”和“值”。我不知道8是什么意思。

标签和长度均为UInt8。我相信标签可能取决于TLV8的使用位置。长度是值的长度。值(value)是它本身的内容。

因此,当我想发送一个简单的1作为值时,我使用:

let tag = 0x02 // For example
let length = 0x01
let value = 0x01
let data = Data(bytes: [tag, length, value]) // NSData

10-08 07:09