Быстрое шестнадцатеричное в байтах (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) }
}}