DataDecoder
Swift Data Decoder. Easily Decode Data values
Installation
DataDecoder is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "DataDecoder"Swift Package Manager:
    dependencies: [
        .package(url: "https://github.com/FitnessKit/DataDecoder", from: "5.0.0"),
    ]Swift4
    dependencies: [
        .package(url: "https://github.com/FitnessKit/DataDecoder", .branch("swift42")),
    ]How to Use
Example:
let sensorData: Data = Data([ 0x02, 0xFE, 0xFF, 0xEF, 0xBE, 0xAD, 0xDE, 0xA5])
var decoder = DecodeData()
let height = decoder.decodeUInt8(sensorData)
let weight = decoder.decodeUInt16(sensorData)
let deadbeef = decoder.decodeUInt32(sensorData)
let nib = decoder.decodeNibble(sensorData)
//This should come back 0 as there is no more data left
let novalue = decoder.decodeNibble(sensorData)Example Using Optionals:
let sensorData: Data = Data([ 0x02, 0xFE, 0xFF, 0xEF, 0xBE, 0xAD, 0xDE, 0xA5])
var decoder = DecodeData()
if let height = decoder.decodeUInt8IfPresent(sensorData) {}
let weight = decoder.decodeUInt16IfPresent(sensorData)
let deadbeef = decoder.decodeUInt32IfPresent(sensorData)
let nib = decoder.decodeNibbleIfPresent(sensorData)
// This will be nil as there is no data left
let novalue = decoder.decodeUInt8IfPresent(sensorData)Data Decoders
- Nibble
 - UInt8/Int8
 - UInt16/Int16
 - UInt24/Int23
 - UInt32/Int32
 - UInt48
 - UInt64/Int64
 - IP Address to String Value
 - MAC Address to String Value
 
IEEE-11073
- 16-bit SFLOAT
 - 32-bit FLOAT
 
IEEE-754
- Float32
 - Float64
 
Author
This package is developed and maintained by Kevin A. Hoogheem
License
DataDecoder is available under the MIT license