Быстрое шестнадцатеричное в байтах (iOS) - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть команды в шестнадцатеричном формате (например, 0x01, 0x02 и т. Д.)

Как ввести их в xcode (какой тип переменных)?И как преобразовать их в байты для вычисления контрольной суммы (CRC8)?

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете преобразовать свою строку гекса обратно в массив UInt8, используя это расширение:

extension StringProtocol {
    var hexa2Bytes: [UInt8] {
        let hexa = Array(self)
        return stride(from: 0, to: count, by: 2).compactMap { UInt8(String(hexa[$0..<$0.advanced(by: 2)]), radix: 16) }
    }}
...