DataDecoder

5.0.0

Swift Data Decoder. Easily Decode Data values
FitnessKit/DataDecoder

What's New

2019-04-27T16:03:56Z

DataDecoder

Swift Data Decoder. Easily Decode Data values

Swift5 Version License Platform Readme Score

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

Description

  • Swift Tools 5.0.0
View More Packages from this Author

Dependencies

  • None
Last updated: Sat Jun 01 2024 19:35:13 GMT-0900 (Hawaii-Aleutian Daylight Time)