0

It is possible in Swift convert

array of String ---> to Data array [UInt8]

["0x36", "0x31", "0x37"] ---> [0x36, 0x31, 0x37]

or hex string to Data array

"363137" ---> [0x36, 0x31, 0x37]

let scanner = Scanner(string: "0x61") print(scanner) // <NSConcreteScanner: 0x283f6ac40> I need 0x61


extension StringProtocol {
    var hexa: [UInt8] {
        var startIndex = self.startIndex
        return (0..<count/2).compactMap { _ in
            let endIndex = index(after: startIndex)
            defer { startIndex = index(after: endIndex) }
            return UInt8(self[startIndex...endIndex], radix: 16)
        }
    }
}
extension DataProtocol {
    var data: Data { .init(self) }
    var hexa: String { map { .init(format: "%02x", $0) }.joined() }
}
"0f00ff".hexa                 // [15, 0, 255]

[15, 0, 255] - this dont work in Data([])

Tulerau
  • 19
  • 3

0 Answers0