Быстрое шестнадцатеричное в байтах (iOS)

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

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

1 ответ

Решение

Вы можете преобразовать свою шестнадцатеричную строку обратно в массив 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) }
    }}
Другие вопросы по тегам