Преобразование шестнадцатеричной строки в данные, не возвращающие читаемый вывод в iOS - PullRequest
0 голосов
/ 02 марта 2020

Следующий фрагмент, который я использовал для преобразования шестнадцатеричной строки в NSData. Здесь я заканчиваю ввод текстового поля как 1234, вывод должен быть <1234>, вместо этого я получаю

некоторые: 20 байт - количество: 20 ▿ указатель: 0x0000000283acc580 - pointerValue: 10799072640 ▿ байт: 20 элементов - 0: 53 - 1: 54 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - 6: 0 - 7: 0 - 8: 0 - 9: 0 - 10: 0 - 11: 0 - 12: 0 - 13: 0 - 14: 0 - 15: 0 - 16: 0 - 17: 0 - 18: 0

  - 19 : 0



var command = inputTextField.text
        command = command?.replacingOccurrences(of: " ", with: "")

        let commandToSend = NSMutableData()
        var wholeByte = CUnsignedChar()

        var byte_char: [CChar] = [0, 0, 0]

        for i in 0..<command!.count/2{

            byte_char[0] = CChar((command! as NSString).character(at: i*2))
            byte_char[1] = CChar((command! as NSString).character(at: (i*2)+1))
            wholeByte = CUnsignedChar(strtoul(byte_char, nil, 16))
            commandToSend.append(&wholeByte, length: 1)

        }

Ожидаемый результат: <1234> с тем же видом сниппета объективного c действительного

...